*,::before,::after{box-sizing:border-box;border:0 solid}html{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4}h1,h2,h3,p,dl,dd{margin:0}h1,h2,h3{font-size:inherit;font-weight:inherit}svg,img{display:block;vertical-align:middle}img{max-width:100%;height:auto}
:root{--background:#fff;--foreground:#13202b;--primary:#e9612e;--primary-foreground:#fff;--border:#dbe0e3;--ring:#e9612e;--radius:0;--muted:#f3f5f6;--muted-foreground:#586571;--accent:#e9612e;--font-sans:Arial,'Noto Sans JP','Yu Gothic',Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--background);color:var(--foreground);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:3px solid #e9612e;outline-offset:5px}::selection{background:#e9612e;color:white}.header{height:94px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:#fff}.brand{display:flex;align-items:center;gap:20px}.brand-symbol{font-family:Arial,sans-serif;font-size:40px;font-weight:900;font-style:italic;letter-spacing:-3px;line-height:1}.brand-symbol span{font-size:13px;color:#e9612e;letter-spacing:0;margin-left:5px}.brand-name{font-size:16px;font-weight:700;letter-spacing:.04em}nav{display:flex;align-items:center;gap:34px;font-size:14px;font-weight:700}nav a:hover{color:#c54619}.nav-company{display:flex;gap:28px;align-items:center;border-left:1px solid #dbe0e3;padding-left:32px}.hero{position:relative;background:#101e29;color:white;min-height:720px;overflow:hidden}.hero-content{position:relative;z-index:2;padding:68px 0 103px 8%;width:60%}.eyebrow{display:flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.17em;font-weight:600;margin:0 0 31px}.eyebrow span{height:6px;width:6px;background:#f46d38}.hero h1{font-size:clamp(48px,5.9vw,84px);font-weight:800;letter-spacing:.045em;line-height:1.35;margin:0}.hero h1>span{white-space:nowrap}.hero-description{font-size:16px;line-height:2;letter-spacing:.08em;margin:26px 0}.primary-link{display:inline-flex;align-items:center;justify-content:space-between;gap:48px;background:#e9612e;padding:19px 23px;font-size:14px;font-weight:700}.primary-link:hover{background:#c7491b}.hero-visual{position:absolute;right:0;top:0;width:56%;height:calc(100% - 57px);background:linear-gradient(90deg,#101e29 0%,#101e2920 80%),#243947;overflow:hidden}.visual-type{position:absolute;right:5%;bottom:9%;font-size:clamp(40px,7vw,100px);font-weight:900;line-height:.95;color:#ffffff14;letter-spacing:-.05em}.hero-lines{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(25% - 1px),#ffffff08 25%);z-index:1;pointer-events:none}.hero-bottom{position:absolute;bottom:0;left:0;right:0;height:57px;border-top:1px solid #ffffff26;display:flex;align-items:center;justify-content:space-between;padding:0 5%;font-size:12px;letter-spacing:.12em;z-index:3}.hero-bottom>a{display:flex;align-items:center;gap:18px}.hero-bottom>span:last-child{letter-spacing:.12em}.section-wrap{padding:100px 8%;scroll-margin-top:20px}.section-label>span{font-size:12px;letter-spacing:.12em;color:#b54119;font-weight:700}.section-label>p{font-size:16px;font-weight:700;margin-top:16px}.about{position:relative;display:grid;grid-template-columns:32% 1fr;overflow:hidden;gap:24px}.about h2{font-size:38px;letter-spacing:.06em;line-height:1.6;margin:0 0 26px}.body-copy{font-size:16px;line-height:2.2;margin:12px 0}.about-mark{position:absolute;right:3%;bottom:0;line-height:.8;font-size:145px;letter-spacing:-.06em;font-weight:900;font-style:italic;color:#14232d06;pointer-events:none}.about-mark span{color:#e9612e0a}.services{background:#f2f4f5}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:42px}.section-label h2{font-size:34px;margin:16px 0 0;letter-spacing:.06em}.section-heading>p{font-size:15px;color:#56616b}.service-grid{display:grid;grid-template-columns:repeat(3,1fr)}.service{padding:0 32px;border-left:1px solid #cbd1d6}.service:first-child{padding-left:0;border:0}.service:last-child{padding-right:0}.service-top{display:flex;justify-content:space-between;align-items:center;color:#b74721;margin-bottom:49px}.service-top>span{font-size:15px;letter-spacing:.05em}.service-en{font-size:12px!important;letter-spacing:.1em;font-weight:700;color:#64717a}.service h3{font-size:27px;margin:12px 0 20px;letter-spacing:.04em}.service>p:last-of-type{font-size:16px;line-height:2;color:#4e5d67;margin:0}.service-rule{height:3px;width:35px;background:#e9612e;margin-top:28px}.company{display:grid;grid-template-columns:32% 1fr;gap:24px}.company-location{margin-top:30px!important;font-weight:400!important;color:#52606b}.company dl{margin:0;border-top:2px solid #182a36}.company dl>div{display:grid;grid-template-columns:130px 1fr;padding:25px 0;border-bottom:1px solid #dbe0e3;font-size:15px;line-height:1.9}.company dt{font-weight:700}.company dd{margin:0}.map-link{display:inline-flex;align-items:center;gap:14px;font-size:14px;margin-top:12px;border-bottom:1px solid #8a969f;padding-bottom:2px}.source-note{font-size:12px;color:#606d77;text-align:right;margin-top:18px}.source-note a{text-decoration:underline}footer{background:#101e29;color:white;padding:43px 5% 22px}.footer-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:35px;border-bottom:1px solid #ffffff26}.back-top{display:flex;gap:25px;font-size:12px;align-items:center}.footer-bottom{display:flex;justify-content:space-between;font-size:12px;color:#bac4cc;padding-top:23px}.footer-bottom small{font-size:12px}.skip-link{position:absolute;left:15px;top:-100px;z-index:20;background:white;padding:15px}.skip-link:focus{top:10px}.image-caption{position:absolute;right:20px;bottom:15px;font-size:12px;color:#ced6dc;z-index:2}.hero-image{width:100%;height:100%;object-fit:cover;object-position:60% center}.hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#101e29 0%,#101e2966 28%,#101e2900 75%),linear-gradient(0deg,#101e29a0,transparent 30%)}
@media(min-width:1600px){.hero-content{padding-left:max(8%,calc((100vw - 1350px)/2))}.section-wrap{padding-left:max(8%,calc((100vw - 1350px)/2));padding-right:max(8%,calc((100vw - 1350px)/2))}}
@media(max-width:800px){.header{height:auto;min-height:90px;flex-wrap:wrap;padding:20px 6%;gap:20px}.brand-symbol{font-size:33px}.brand-name{font-size:14px}.brand{gap:13px}nav{width:100%;justify-content:space-between;gap:12px;font-size:12px}.nav-company{padding-left:18px;gap:10px}.hero{min-height:680px}.hero-content{width:100%;padding:53px 6% 105px}.hero h1{font-size:clamp(40px,9vw,70px)}.hero-visual{width:100%;opacity:.5}.hero-description{font-size:15px}.hero-bottom{padding:0 6%}.hero-bottom>span:last-child{display:none}.section-wrap{padding:64px 6%}.about,.company{grid-template-columns:1fr;gap:26px}.about h2{font-size:30px}.section-label h2{font-size:29px}.section-heading{align-items:start;flex-direction:column;gap:10px}.service-grid{grid-template-columns:1fr}.service,.service:first-child,.service:last-child{border-left:0;border-top:1px solid #cbd1d6;padding:28px 0}.service-top{margin-bottom:22px}.service h3{font-size:25px}.service-rule{margin-top:22px}.company dl>div{grid-template-columns:95px 1fr;gap:10px;font-size:14px}.footer-top{gap:25px;flex-wrap:wrap}.footer-bottom{gap:16px;flex-wrap:wrap}.desktop{display:none}.body-copy{line-height:2}.image-caption{bottom:9px}.hero-content{z-index:3}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
