    :root { --yellow:#fabe00; --orange:#ff7a00; --ink:#1f1f1f; --surface:#fff; --page:#f3f3f3; }
    * { box-sizing:border-box; }
    html { color-scheme:light; }
    body { margin:0; color:var(--ink); background:var(--page); font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif; -webkit-font-smoothing:antialiased; }
    a { color:inherit; }
    .utility-bar { min-height:38px; background:var(--yellow); }
    .utility-inner { width:100%; max-width:1440px; min-height:40px; margin:0 auto; padding:0 15px; display:flex; align-items:center; justify-content:flex-end; gap:20px; }
    .utility-inner a { font-size:14px; font-weight:700; text-decoration:none; }
    .utility-inner a::after { content:"↗"; margin-left:4px; font-size:12px; }
    .brand-header,.service-tabs { background:var(--surface); }
    .brand-row { width:calc(100% - 50px); max-width:1440px; margin:10px auto 0; padding:20px; display:flex; align-items:center; justify-content:space-between; gap:32px; }
    .brand-tagline { margin:0 0 5px; font-size:14px; font-weight:500; }
    .brand-logo { display:block; width:270px; height:auto; }
    .brand-name { margin:5px 0 0; text-align:center; font-size:15px; font-weight:700; }
    .header-actions { display:flex; align-items:center; gap:20px; margin-top:-90px; }
    .header-button { height:40px; min-width:196px; padding:0 25px; border:1px solid var(--ink); border-radius:40px; background:#f8f8f5; display:flex; align-items:center; justify-content:center; text-align:center; font-size:14px; font-weight:500; text-decoration:none; }
    .header-button.contact { min-width:236px; background:var(--yellow); }
    .header-button:hover,.header-button:focus-visible { filter:brightness(.96); }
    .service-tabs { margin-top:-60px; }
    .tabs-inner { width:calc(100% - 50px); max-width:1440px; margin:0 auto -3px; padding:0 20px; display:flex; justify-content:flex-end; align-items:stretch; gap:5px; }
    .service-tab { width:258px; min-width:18%; min-height:80px; padding:20px 30px; border-radius:15px 15px 0 0; background:#dad9d7; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; text-align:center; font-size:18px; font-weight:700; line-height:1.25; text-decoration:none; position:relative; }
    .service-tab img { width:auto; height:32px; object-fit:contain; }
    .service-tab.current { background-color:#003466; background-image:linear-gradient(rgba(255,255,255,.2) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.2) 1px,transparent 1px); background-size:20px 20px; color:#fff; cursor:default; }
    .service-tab:not(.current):hover,.service-tab:not(.current):focus-visible { background:#cfcfcf; }
    .orange-rule { height:14px; background:var(--orange); }
    main { min-height:390px; padding:64px 20px 80px; }
    .maintenance-card { width:min(720px,100%); margin:0 auto; padding:50px 42px; border-radius:16px; background:var(--surface); box-shadow:0 5px 22px rgba(0,0,0,.08); text-align:center; }
    .status-label { display:inline-block; margin-bottom:20px; padding:6px 16px; border-radius:999px; background:#fff1cb; color:#7a4f00; font-size:13px; font-weight:700; }
    h1 { margin:0 0 24px; font-size:clamp(25px,4vw,34px); line-height:1.4; }
    .maintenance-card p { margin:12px 0; line-height:1.9; }
    .back-link { display:inline-block; margin-top:26px; padding:13px 24px; border-radius:999px; background:var(--yellow); font-weight:700; text-decoration:none; }
    footer { padding:26px 20px; background:#2b2b2b; color:#fff; text-align:center; font-size:12px; }
    @media (max-width:800px) {
      .utility-inner { width:calc(100% - 28px); justify-content:center; gap:16px; }
      .utility-inner a:nth-child(2) { display:none; }
      .brand-row { width:calc(100% - 30px); justify-content:center; padding:15px 0 10px; }
      .brand-tagline { text-align:center; }
      .header-actions { display:none; }
      .service-tabs { margin-top:20px; }
      .tabs-inner { width:100%; padding:0; justify-content:space-around; gap:2px; }
      .service-tab,.service-tab.current { width:33.333%; min-width:0; min-height:68px; padding:16px 5px; border-radius:7px 7px 0 0; font-size:12px; }
      .service-tab img { height:30px; }
      main { padding:42px 16px 56px; }
      .maintenance-card { padding:38px 22px; border-radius:12px; }
      .maintenance-card br { display:none; }
    }
    @media (max-width:430px) {
      .utility-inner a { font-size:12px; }
      .utility-inner a:first-child { display:none; }
      .brand-logo { width:200px; }
      .service-tab,.service-tab.current { font-size:12px; }
    }
