:root { color-scheme: dark; background: #030b13; color: #f4f7f9; font-family: -apple-system, BlinkMacSystemFont, 'Yu Gothic', 'Hiragino Kaku Gothic ProN', sans-serif; }
* { box-sizing: border-box; }
body { margin: 0; min-width: 280px; min-height: 100svh; background: radial-gradient(ellipse at 85% 0, #12313f70, transparent 60%), linear-gradient(145deg, #07131d, #030b13 65%); }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 5px; text-decoration-color: #9db8c078; }
a:hover { text-decoration-color: currentColor; }
a:focus-visible { outline: 2px solid #a9e9ee; outline-offset: 6px; border-radius: 3px; }
.company-header { max-width: 1200px; margin: 0 auto; padding: 30px 54px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.company-brand { position: relative; display: block; width: 220px; height: 44px; overflow: hidden; mix-blend-mode: screen; flex-shrink: 0; }
.company-brand img { position: absolute; top: 50%; left: 50%; width: 122%; height: auto; transform: translate(-50%, -50%); filter: invert(1) hue-rotate(180deg); }
.back-link { font-size: 13px; letter-spacing: 0.05em; line-height: 1.6; padding: 12px 0; white-space: nowrap; }
.company-main { max-width: 1012px; margin: 60px auto 0; padding: 0 54px 80px; }
h1 { margin: 0 0 48px; font-size: clamp(28px, 4vw, 42px); font-weight: 600; line-height: 1.5; letter-spacing: 0.12em; }
.company-details { margin: 0; border-top: 1px solid #c9e2ea3d; }
.company-row { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 28px; border-bottom: 1px solid #c9e2ea26; padding: 25px 0; }
dt { padding-top: 2px; font-size: 13px; line-height: 1.9; font-weight: 500; letter-spacing: 0.06em; color: #b0c4ce; }
dd { margin: 0; font-size: 15px; line-height: 1.95; overflow-wrap: anywhere; }
.address-break { display: none; }
.contact-list { display: grid; gap: 18px; }
.contact-label { display: block; color: #b0c4ce; font-size: 12px; margin-bottom: 2px; letter-spacing: 0.03em; }
.contact-list a { font-size: 14px; }
.company-footer { max-width: 1012px; margin: 0 auto; padding: 0 54px 35px; color: #849ba7; font-size: 12px; letter-spacing: 0.05em; }
@media (max-width: 640px) {
  .company-header { padding: max(25px, env(safe-area-inset-top)) 26px 20px; gap: 14px; }
  .company-brand { width: 170px; height: 36px; }
  .back-link { font-size: 11px; }
  .company-main { margin-top: 32px; padding: 0 26px 48px; }
  h1 { margin-bottom: 32px; }
  .company-row { grid-template-columns: 1fr; gap: 7px; padding: 21px 0; }
  dt { padding-top: 0; font-size: 12px; }
  dd { font-size: 14px; }
  .address-break { display: initial; }
  .contact-list a { font-size: 13px; }
  .company-footer { padding: 0 26px 30px; }
}
