/*
  Common stylesheet for psys.co.jp.
  Generated by consolidating inline page styles.
*/
/* Source: index.html */
:root {
      color-scheme: light;
      --ink: #1f3542;
      --muted: #5f6f78;
      --line: #d9e0df;
      --paper: #ffffff;
      --surface: #ffffff;
      --orange: #2e5d7c;
      --orange-dark: #244b66;
      --orange-soft: #e8f1f5;
      --green: #a3c1d4;
      --teal: #2e5d7c;
      --shadow: 0 24px 60px rgba(46, 93, 124, 0.14);
      font-family: "Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, Arial, sans-serif;
      background: var(--paper);
      color: var(--ink);
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body { margin: 0; line-height: 1.75; background: var(--paper); }
    a { color: inherit; text-decoration: none; }
    img { display: block; max-width: 100%; }
    .wrap { width: min(1120px, calc(100% - 40px)); margin: 0 auto; }

    .site-header {
      position: sticky;
      top: 0;
      z-index: 20;
      background: rgba(255, 255, 255, 0.92);
      border-bottom: 1px solid rgba(163, 193, 212, 0.42);
      backdrop-filter: blur(14px);
    }

    .header-inner {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
      min-height: 76px;
    }

    .brand {
      display: inline-flex;
      align-items: center;
      gap: 14px;
      min-width: 230px;
    }

    .brand img { width: 104px; height: auto; }
    .brand-text { display: grid; gap: 2px; }
    .brand-text strong { font-size: 0.98rem; letter-spacing: 0.02em; }
    .brand-text span { color: var(--muted); font-size: 0.78rem; line-height: 1.35; }

    .nav {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      gap: 4px;
      flex-wrap: wrap;
    }

    .nav a {
      border-radius: 999px;
      color: #2d4757;
      font-size: 0.92rem;
      font-weight: 700;
      line-height: 1;
      padding: 12px 14px;
      transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
    }

    .nav a:hover {
      background: var(--orange-soft);
      color: var(--orange-dark);
      transform: translateY(-1px);
    }

    .nav .contact-link {
      background: var(--ink);
      color: #fff;
      margin-left: 6px;
    }

    .nav .contact-link:hover {
      background: var(--orange);
      color: #fff;
    }

    .hero {
      min-height: 690px;
      display: grid;
      align-items: end;
      color: #fff;
      background:
        linear-gradient(90deg, rgba(31, 53, 66, 0.9) 0%, rgba(46, 93, 124, 0.68) 45%, rgba(46, 93, 124, 0.16) 100%),
        url("../psys/images/hero-image.jpg") center / cover no-repeat;
    }

    .hero-inner {
      display: grid;
      grid-template-columns: minmax(0, 1720px);
      gap: 28px;
      padding: 96px 0 72px;
    }

    .eyebrow {
      color: #d9edf7;
      font-size: 0.86rem;
      font-weight: 800;
      letter-spacing: 0.12em;
      margin: 0;
      text-transform: uppercase;
    }

    .hero h1 {
      font-size: clamp(1.55rem, 4vw, 3.7rem);
      line-height: 1.04;
      margin: 0;
      max-width: 1860px;
    }

    .hero-copy {
      color: rgba(255, 255, 255, 0.9);
      font-size: clamp(1rem, 2vw, 1.18rem);
      margin: 0;
      max-width: 660px;
    }

    .hero-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      margin-top: 8px;
    }

    .button {
      align-items: center;
      border-radius: 999px;
      display: inline-flex;
      font-weight: 800;
      justify-content: center;
      min-height: 50px;
      padding: 14px 22px;
      transition: box-shadow 0.2s ease, transform 0.2s ease, background 0.2s ease;
    }

    .button-primary {
      background: var(--orange);
      color: #fff;
      box-shadow: 0 16px 34px rgba(46, 93, 124, 0.28);
    }

    .button-secondary {
      border: 1px solid rgba(255, 255, 255, 0.42);
      color: #fff;
    }

    .button-dark {
      background: var(--ink);
      color: #fff;
    }

    .button:hover {
      transform: translateY(-2px);
      box-shadow: 0 20px 42px rgba(46, 93, 124, 0.18);
    }

    .hero-strip {
      background: #fff;
      border-bottom: 1px solid var(--line);
    }

    .hero-strip-inner {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 1px;
      background: var(--line);
    }

    .strip-item {
      background: #fff;
      min-height: 132px;
      padding: 28px;
    }

    .strip-item strong {
      color: var(--orange-dark);
      display: block;
      font-size: 1.5rem;
      line-height: 1.2;
      margin-bottom: 8px;
    }

    .strip-item span { color: var(--muted); font-size: 0.94rem; }

    section { padding: 86px 0; }
    .section-head {
      align-items: end;
      display: flex;
      justify-content: space-between;
      gap: 24px;
      margin-bottom: 34px;
    }

    .section-head h2 {
      font-size: clamp(2rem, 4vw, 3.2rem);
      line-height: 1.12;
      margin: 0;
      max-width: 760px;
    }

    .section-head p {
      color: var(--muted);
      margin: 0;
      max-width: 420px;
    }

    .services {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 18px;
    }

    .service-card,
    .news-card,
    .product-card {
      background: var(--surface);
      border: 1px solid var(--line);
      border-radius: 8px;
      box-shadow: var(--shadow);
    }

    .service-card {
      min-height: 250px;
      padding: 30px;
      position: relative;
      overflow: hidden;
    }

    .service-card::before {
      background: var(--orange);
      content: "";
      height: 5px;
      inset: 0 0 auto;
      position: absolute;
    }

    .service-card:nth-child(2)::before { background: var(--green); }
    .service-card:nth-child(3)::before { background: var(--teal); }
    .service-card:nth-child(4)::before { background: var(--accent); }

    .card-number {
      color: #a9b8bd;
      display: block;
      font-size: 0.86rem;
      font-weight: 900;
      letter-spacing: 0.12em;
      margin-bottom: 24px;
    }

    .service-card h3,
    .product-card h3 {
      font-size: 1.34rem;
      line-height: 1.35;
      margin: 0 0 14px;
    }

    .service-card p,
    .product-card p,
    .news-card p {
      color: var(--muted);
      margin: 0;
    }

    .text-link {
      color: var(--orange-dark);
      display: inline-flex;
      font-weight: 900;
      margin-top: 24px;
    }

    .feature-band {
      background: #1f3542;
      color: #fff;
    }

    .feature-layout {
      display: grid;
      gap: 34px;
    }

    .feature-list {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 14px;
    }

    .feature-item {
      background: rgba(255, 255, 255, 0.06);
      border: 1px solid rgba(255, 255, 255, 0.14);
      border-radius: 8px;
      display: grid;
      gap: 10px;
      min-height: 210px;
      padding: 24px;
    }

    .feature-item strong {
      color: #d9edf7;
      font-size: 1.1rem;
    }

    .feature-item span { color: rgba(255, 255, 255, 0.76); }

    .feature-index {
      align-items: center;
      background: var(--orange);
      border-radius: 999px;
      color: #fff;
      display: inline-flex;
      font-size: 0.78rem;
      font-weight: 900;
      height: 34px;
      justify-content: center;
      width: 34px;
    }

    .feature-icon {
      align-items: center;
      background: var(--orange);
      border-radius: 14px;
      color: #fff;
      display: inline-flex;
      height: 46px;
      justify-content: center;
      width: 46px;
    }

    .feature-icon svg {
      display: block;
      fill: none;
      height: 28px;
      stroke: currentColor;
      stroke-linecap: round;
      stroke-linejoin: round;
      stroke-width: 3;
      width: 28px;
    }

    .feature-proof {
      border-top: 1px solid rgba(255, 255, 255, 0.16);
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 1px;
      margin-top: 8px;
    }

    .proof-item {
      padding: 22px 24px 0 0;
    }

    .proof-item strong {
      color: #fff;
      display: block;
      font-size: 1.45rem;
      line-height: 1.2;
      margin-bottom: 6px;
    }

    .proof-item span {
      color: rgba(255, 255, 255, 0.68);
      font-size: 0.92rem;
    }

    .products {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 18px;
    }

    .product-card {
      display: grid;
      grid-template-rows: 180px 1fr;
      overflow: hidden;
    }

    .product-media {
      align-items: center;
      background: linear-gradient(135deg, #ffffff, #e8f1f5);
      display: grid;
      height: 180px;
      justify-items: center;
      padding: 26px;
    }

    .product-card img {
      max-height: 118px;
      object-fit: contain;
      width: min(100%, 260px);
    }

    .product-body { padding: 26px; }

    .news-layout {
      display: grid;
      grid-template-columns: 1fr;
      gap: 22px;
      align-items: start;
    }

    .news-list {
      display: grid;
      gap: 12px;
      margin: 0;
      padding: 0;
      list-style: none;
    }

    .news-card {
      align-items: start;
      display: grid;
      grid-template-columns: 120px 1fr;
      gap: 20px;
      padding: 24px;
    }

    .news-card time {
      color: var(--orange-dark);
      font-weight: 900;
      white-space: nowrap;
    }

    .news-card a,
    .news-card span {
      color: var(--ink);
      font-weight: 700;
    }

    .office-panel {
      background: var(--orange-soft);
      border: 1px solid #a3c1d4;
      border-radius: 8px;
      padding: 28px;
    }

    .office-panel h3 {
      font-size: 1.4rem;
      line-height: 1.35;
      margin: 0 0 18px;
    }

    .office-panel p {
      color: var(--muted);
      margin: 0 0 16px;
    }

    .cta {
      background:
        linear-gradient(120deg, rgba(46, 93, 124, 0.96), rgba(31, 53, 66, 0.92)),
        url("../psys/images/tp-main01.png") center / cover no-repeat;
      color: #fff;
      padding: 80px 0;
    }

    .cta-inner {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 28px;
    }

    .cta h2 {
      font-size: clamp(2rem, 4vw, 3.5rem);
      line-height: 1.12;
      margin: 0;
      max-width: 760px;
    }

    .cta p {
      color: rgba(255, 255, 255, 0.88);
      margin: 16px 0 0;
      max-width: 640px;
    }

    .site-footer {
      background: #1f3542;
      color: rgba(255, 255, 255, 0.76);
      padding: 50px 0 28px;
    }

    .footer-grid {
      display: grid;
      grid-template-columns: 1.2fr repeat(3, minmax(0, 1fr));
      gap: 28px;
      margin-bottom: 34px;
    }

    .footer-grid h2,
    .footer-grid h3 {
      color: #fff;
      font-size: 1rem;
      margin: 0 0 14px;
    }

    .footer-grid p { margin: 0; }
    .footer-links {
      display: grid;
      gap: 10px;
      list-style: none;
      margin: 0;
      padding: 0;
    }

    .footer-links a:hover { color: #d9edf7; }
    .copyright {
      border-top: 1px solid rgba(255, 255, 255, 0.12);
      color: rgba(255, 255, 255, 0.5);
      font-size: 0.86rem;
      margin: 0;
      padding-top: 22px;
    }

    @media (max-width: 980px) {
      .header-inner { align-items: flex-start; flex-direction: column; padding: 16px 0; }
      .nav { justify-content: flex-start; }
      .hero { min-height: 610px; }
      .hero-strip-inner,
      .services,
      .products,
      .feature-layout,
      .feature-list,
      .feature-proof,
      .news-layout,
      .footer-grid {
        grid-template-columns: 1fr;
      }
      .section-head,
      .cta-inner {
        align-items: flex-start;
        flex-direction: column;
      }
    }

    @media (max-width: 640px) {
      .wrap { width: min(100% - 28px, 1120px); }
      .brand img { width: 86px; }
      .nav { gap: 2px; }
      .nav a { font-size: 0.84rem; padding: 10px 11px; }
      .nav .contact-link { margin-left: 0; }
      .hero {
        min-height: 620px;
        background-position: 58% center;
      }
      .hero-inner { padding: 72px 0 54px; }
      .hero-actions,
      .hero-actions .button,
      .cta .button {
        width: 100%;
      }
      section { padding: 64px 0; }
      .strip-item,
      .service-card,
      .product-body,
      .news-card,
      .office-panel {
        padding: 22px;
      }
      .news-card { grid-template-columns: 1fr; gap: 6px; }
      .product-card { grid-template-rows: 150px 1fr; }
      .product-media { height: 150px; padding: 20px; }
      .product-card img { max-height: 98px; }
    }

/* Source: psys/check.php */
:root{--ink:#1f3542;--muted:#5f6f78;--line:#d9e0df;--accent:#2e5d7c;--accent-dark:#244b66;--accent-soft:#e8f1f5;--accent-light:#a3c1d4;--danger:#b3261e;--shadow:0 24px 60px rgba(46,93,124,.14);font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,Arial,sans-serif;color:var(--ink);background:#fff}*{box-sizing:border-box}body{margin:0;line-height:1.75}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.wrap{width:min(1120px,calc(100% - 40px));margin:0 auto}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.92);border-bottom:1px solid rgba(163,193,212,.42);backdrop-filter:blur(14px)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px}.brand{display:inline-flex;align-items:center;gap:14px;min-width:230px}.brand img{width:104px}.brand-text{display:grid;gap:2px}.brand-text strong{font-size:.98rem}.brand-text span{color:var(--muted);font-size:.78rem;line-height:1.35}.nav{display:flex;align-items:center;justify-content:flex-end;gap:4px;flex-wrap:wrap}.nav a{border-radius:999px;color:#2d4757;font-size:.92rem;font-weight:700;line-height:1;padding:12px 14px}.nav a:hover,.nav a[aria-current="page"]{background:var(--accent-soft);color:var(--accent-dark)}.nav .contact-link{background:var(--ink);color:#fff;margin-left:6px}.page-title-band{background:linear-gradient(180deg,#fff 0%,#e8f1f5 100%);border-bottom:1px solid var(--line);padding:54px 0 44px}.breadcrumb{color:var(--muted);display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 26px;padding:0;font-size:.9rem}.breadcrumb li:not(:last-child)::after{color:var(--accent-light);content:"/";margin-left:8px}.breadcrumb a{color:var(--accent-dark);font-weight:700}.eyebrow{color:var(--accent);font-size:.86rem;font-weight:800;letter-spacing:.12em;margin:0 0 14px;text-transform:uppercase}.page-title-band h1{font-size:clamp(2.2rem,5vw,4.4rem);line-height:1.08;margin:0}.page-title-band p{color:var(--muted);font-size:clamp(1rem,2vw,1.16rem);margin:22px 0 0;max-width:760px}section{padding:82px 0}.card{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:34px}.form-grid{display:grid;gap:20px}.field{display:grid;gap:8px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.label-line{display:flex;align-items:center;justify-content:space-between;gap:12px}.label-line label{font-weight:800}.required{background:var(--accent-soft);border:1px solid var(--accent-light);border-radius:999px;color:var(--accent-dark);font-size:.76rem;font-weight:900;line-height:1;padding:5px 8px}.hint{color:var(--muted);font-size:.86rem;margin:0}input,textarea,select{appearance:none;background:#fff;border:1px solid #cbd7dc;border-radius:8px;color:var(--ink);font:inherit;min-height:48px;padding:11px 13px;width:100%}textarea{min-height:180px;resize:vertical}.zip-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.mini-button{background:var(--accent-soft);border:1px solid var(--accent-light);border-radius:8px;color:var(--accent-dark);cursor:pointer;font-weight:900;min-height:48px;padding:10px 14px}.privacy-box{background:var(--accent-soft);border:1px solid rgba(163,193,212,.7);border-radius:8px;padding:18px}.privacy-box label{display:flex;gap:12px;align-items:flex-start;font-weight:700}.privacy-box input{flex:0 0 auto;height:20px;min-height:20px;margin-top:.25em;width:20px}.actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:28px}.button{align-items:center;background:var(--ink);border:0;border-radius:999px;color:#fff;cursor:pointer;display:inline-flex;font-weight:900;justify-content:center;min-height:52px;padding:14px 24px}.button.secondary{background:#fff;border:1px solid var(--line);color:var(--accent-dark)}.error-summary{background:#fff3f2;border:1px solid rgba(179,38,30,.32);border-radius:8px;color:var(--danger);font-weight:800;margin:0 0 24px;padding:16px 18px}.error-summary ul{margin:8px 0 0;padding-left:22px}.error-text{color:var(--danger);font-size:.9rem;font-weight:800;margin:0}.confirm-list{border:1px solid var(--line);border-radius:8px;overflow:hidden}.confirm-row{display:grid;grid-template-columns:220px minmax(0,1fr);border-bottom:1px solid var(--line)}.confirm-row:last-child{border-bottom:0}.confirm-row dt,.confirm-row dd{margin:0;padding:16px 18px}.confirm-row dt{background:var(--accent-soft);font-weight:900}.confirm-row dd{white-space:pre-wrap;word-break:break-word}.site-footer{background:#1f3542;color:rgba(255,255,255,.76);padding:50px 0 28px}.footer-grid{display:grid;grid-template-columns:1.2fr repeat(3,minmax(0,1fr));gap:28px;margin-bottom:34px}.footer-grid h2,.footer-grid h3{color:#fff;font-size:1rem;margin:0 0 14px}.footer-grid p{margin:0}.footer-links{display:grid;gap:10px;list-style:none;margin:0;padding:0}.copyright{border-top:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.5);font-size:.86rem;margin:0;padding-top:22px}@media(max-width:980px){.header-inner{align-items:flex-start;flex-direction:column;padding:16px 0}.nav{justify-content:flex-start}.footer-grid,.field-row,.confirm-row{grid-template-columns:1fr}}@media(max-width:640px){.wrap{width:min(100% - 28px,1120px)}.brand img{width:86px}.nav a{font-size:.84rem;padding:10px 11px}.nav .contact-link{margin-left:0}.page-title-band{padding:42px 0 32px}section{padding:62px 0}.card{padding:22px}.zip-actions{grid-template-columns:1fr}.actions{align-items:stretch;flex-direction:column}.button{width:100%}}

/* Source: psys/contact.html */
:root{--ink:#1f3542;--muted:#5f6f78;--line:#d9e0df;--accent:#2e5d7c;--accent-dark:#244b66;--accent-soft:#e8f1f5;--accent-light:#a3c1d4;--shadow:0 24px 60px rgba(46,93,124,.14);font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,Arial,sans-serif;color:var(--ink);background:#fff}*{box-sizing:border-box}body{margin:0;line-height:1.75}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.wrap{width:min(1120px,calc(100% - 40px));margin:0 auto}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.92);border-bottom:1px solid rgba(163,193,212,.42);backdrop-filter:blur(14px)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px}.brand{display:inline-flex;align-items:center;gap:14px;min-width:230px}.brand img{width:104px}.brand-text{display:grid;gap:2px}.brand-text strong{font-size:.98rem}.brand-text span{color:var(--muted);font-size:.78rem;line-height:1.35}.nav{display:flex;align-items:center;justify-content:flex-end;gap:4px;flex-wrap:wrap}.nav a{border-radius:999px;color:#2d4757;font-size:.92rem;font-weight:700;line-height:1;padding:12px 14px}.nav a:hover,.nav a[aria-current="page"]{background:var(--accent-soft);color:var(--accent-dark)}.nav .contact-link{background:var(--ink);color:#fff;margin-left:6px}.page-title-band{background:linear-gradient(180deg,#fff 0%,#e8f1f5 100%);border-bottom:1px solid var(--line);padding:54px 0 44px}.breadcrumb{color:var(--muted);display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 26px;padding:0;font-size:.9rem}.breadcrumb li:not(:last-child)::after{color:var(--accent-light);content:"/";margin-left:8px}.breadcrumb a{color:var(--accent-dark);font-weight:700}.eyebrow{color:var(--accent);font-size:.86rem;font-weight:800;letter-spacing:.12em;margin:0 0 14px;text-transform:uppercase}.page-title-band h1{font-size:clamp(2.2rem,5vw,4.4rem);line-height:1.08;margin:0}.page-title-band p{color:var(--muted);font-size:clamp(1rem,2vw,1.16rem);margin:22px 0 0;max-width:760px}section{padding:82px 0}.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}.form-card,.side-card{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.form-card{padding:34px}.side-card{padding:28px;display:grid;gap:22px}.section-head{margin-bottom:28px}.section-head h2{font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.18;margin:0}.section-head p,.side-card p{color:var(--muted);margin:12px 0 0}.form-grid{display:grid;gap:20px}.field{display:grid;gap:8px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.label-line{display:flex;align-items:center;justify-content:space-between;gap:12px}.label-line label{font-weight:800}.required{background:var(--accent-soft);border:1px solid var(--accent-light);border-radius:999px;color:var(--accent-dark);font-size:.76rem;font-weight:900;line-height:1;padding:5px 8px}.hint{color:var(--muted);font-size:.86rem;margin:0}input,textarea,select{appearance:none;background:#fff;border:1px solid #cbd7dc;border-radius:8px;color:var(--ink);font:inherit;min-height:48px;padding:11px 13px;width:100%}select{padding-right:36px}textarea{min-height:180px;resize:vertical}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(163,193,212,.35);outline:0}.zip-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.mini-button{background:var(--accent-soft);border:1px solid var(--accent-light);border-radius:8px;color:var(--accent-dark);cursor:pointer;font-weight:900;min-height:48px;padding:10px 14px}.privacy-box{background:var(--accent-soft);border:1px solid rgba(163,193,212,.7);border-radius:8px;padding:18px}.privacy-box label{display:flex;gap:12px;align-items:flex-start;font-weight:700}.privacy-box input{flex:0 0 auto;height:20px;min-height:20px;margin-top:.25em;width:20px}.actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:8px}.button{align-items:center;background:var(--ink);border:0;border-radius:999px;color:#fff;cursor:pointer;display:inline-flex;font-weight:900;justify-content:center;min-height:52px;padding:14px 24px}.text-link{color:var(--accent-dark);font-weight:900}.tel{font-size:1.4rem;font-weight:900;letter-spacing:.02em;margin:4px 0 0}.note-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.note-list li{color:var(--muted);padding-left:18px;position:relative}.note-list li::before{background:var(--accent-light);border-radius:999px;content:"";height:7px;left:0;position:absolute;top:.8em;width:7px}.site-footer{background:#1f3542;color:rgba(255,255,255,.76);padding:50px 0 28px}.footer-grid{display:grid;grid-template-columns:1.2fr repeat(3,minmax(0,1fr));gap:28px;margin-bottom:34px}.footer-grid h2,.footer-grid h3{color:#fff;font-size:1rem;margin:0 0 14px}.footer-grid p{margin:0}.footer-links{display:grid;gap:10px;list-style:none;margin:0;padding:0}.copyright{border-top:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.5);font-size:.86rem;margin:0;padding-top:22px}@media(max-width:980px){.header-inner{align-items:flex-start;flex-direction:column;padding:16px 0}.nav{justify-content:flex-start}.contact-layout,.footer-grid,.field-row{grid-template-columns:1fr}}@media(max-width:640px){.wrap{width:min(100% - 28px,1120px)}.brand img{width:86px}.nav a{font-size:.84rem;padding:10px 11px}.nav .contact-link{margin-left:0}.page-title-band{padding:42px 0 32px}section{padding:62px 0}.form-card,.side-card{padding:22px}.zip-actions{grid-template-columns:1fr}.actions{align-items:stretch;flex-direction:column}.button{width:100%}}

/* Source: psys/error.html */
:root{--ink:#1f3542;--muted:#5f6f78;--line:#d9e0df;--accent:#2e5d7c;--accent-dark:#244b66;--accent-soft:#e8f1f5;--accent-light:#a3c1d4;--shadow:0 24px 60px rgba(46,93,124,.14);font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,Arial,sans-serif;color:var(--ink);background:#fff}*{box-sizing:border-box}body{margin:0;line-height:1.75}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.wrap{width:min(1120px,calc(100% - 40px));margin:0 auto}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.92);border-bottom:1px solid rgba(163,193,212,.42);backdrop-filter:blur(14px)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px}.brand{display:inline-flex;align-items:center;gap:14px;min-width:230px}.brand img{width:104px}.brand-text{display:grid;gap:2px}.brand-text strong{font-size:.98rem}.brand-text span{color:var(--muted);font-size:.78rem}.nav{display:flex;align-items:center;justify-content:flex-end;gap:4px;flex-wrap:wrap}.nav a{border-radius:999px;color:#2d4757;font-size:.92rem;font-weight:700;line-height:1;padding:12px 14px}.nav a:hover,.nav a[aria-current=page]{background:var(--accent-soft);color:var(--accent-dark)}.nav .contact-link{background:var(--ink);color:#fff;margin-left:6px}.page-title-band{background:linear-gradient(180deg,#fff 0%,#e8f1f5 100%);border-bottom:1px solid var(--line);padding:54px 0 44px}.breadcrumb{color:var(--muted);display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 26px;padding:0;font-size:.9rem}.breadcrumb li:not(:last-child)::after{content:"/";color:var(--accent-light);margin-left:8px}.breadcrumb a{color:var(--accent-dark);font-weight:700}.eyebrow{color:var(--accent);font-size:.86rem;font-weight:800;letter-spacing:.12em;margin:0 0 14px;text-transform:uppercase}.page-title-band h1{font-size:clamp(2.2rem,5vw,4.6rem);line-height:1.08;margin:0;max-width:920px}.page-title-band p{color:var(--muted);font-size:clamp(1rem,2vw,1.16rem);margin:22px 0 0;max-width:780px}section{padding:82px 0}.section-head{align-items:end;display:flex;justify-content:space-between;gap:24px;margin-bottom:34px}.section-head h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1.12;margin:0;max-width:760px}.section-head p{color:var(--muted);margin:0;max-width:480px}.grid-2{display:grid;grid-template-columns:1.05fr .95fr;gap:28px;align-items:center}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card,.feature-card,.visual-card,.message-card{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.card,.feature-card,.message-card{padding:28px}.visual-card{overflow:hidden}.visual-card img{background:var(--accent-soft);height:100%;min-height:250px;object-fit:contain;padding:30px;width:100%}.card h3,.feature-card h3{font-size:1.18rem;line-height:1.35;margin:0 0 10px}.card p,.feature-card p,.message-card p{color:var(--muted);margin:0}.list{display:grid;gap:10px;list-style:none;margin:0;padding:0}.list li{color:var(--muted);padding-left:18px;position:relative}.list li::before{background:var(--accent-light);border-radius:999px;content:"";height:7px;left:0;position:absolute;top:.8em;width:7px}.band{background:#f7fbfc;border-block:1px solid var(--line)}.cta{background:#1f3542;color:#fff}.cta p,.cta .eyebrow{color:rgba(255,255,255,.75)}.button{align-items:center;background:var(--ink);border:1px solid var(--ink);border-radius:999px;color:#fff;display:inline-flex;font-weight:900;justify-content:center;min-height:52px;padding:14px 24px}.button.secondary{background:#fff;border-color:var(--line);color:var(--accent-dark)}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.site-map{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.site-map h2{font-size:1.1rem;margin:0 0 12px}.site-map ul{display:grid;gap:9px;list-style:none;margin:0;padding:0}.site-map a{color:var(--accent-dark);font-weight:800}.site-footer{background:#172832;color:rgba(255,255,255,.76);padding:50px 0 28px}.footer-grid{display:grid;grid-template-columns:1.2fr repeat(3,minmax(0,1fr));gap:28px;margin-bottom:34px}.footer-grid h2,.footer-grid h3{color:#fff;font-size:1rem;margin:0 0 14px}.footer-grid p{margin:0}.footer-links{display:grid;gap:10px;list-style:none;margin:0;padding:0}.copyright{border-top:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.5);font-size:.86rem;margin:0;padding-top:22px}@media(max-width:980px){.header-inner{align-items:flex-start;flex-direction:column;padding:16px 0}.nav{justify-content:flex-start}.grid-2,.grid-3,.site-map,.footer-grid{grid-template-columns:1fr}.section-head{align-items:flex-start;flex-direction:column}}@media(max-width:640px){.wrap{width:min(100% - 28px,1120px)}.brand{min-width:0}.brand img{width:86px}.brand-text span{display:none}.nav a{font-size:.84rem;padding:10px 11px}.nav .contact-link{margin-left:0}.page-title-band{padding:42px 0 32px}section{padding:62px 0}.card,.feature-card,.message-card{padding:22px}.actions{align-items:stretch;flex-direction:column}.button{width:100%}}

/* Source: psys/psys-aspidc.html */
:root {
      color-scheme: light;
      --ink: #1f3542;
      --muted: #5f6f78;
      --line: #d9e0df;
      --paper: #ffffff;
      --surface: #ffffff;
      --accent: #2e5d7c;
      --accent-dark: #244b66;
      --accent-soft: #e8f1f5;
      --accent-light: #a3c1d4;
      --shadow: 0 24px 60px rgba(46, 93, 124, 0.14);
      font-family: "Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, Arial, sans-serif;
      background: var(--paper);
      color: var(--ink);
    }
    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body { margin: 0; line-height: 1.75; background: var(--paper); }
    a { color: inherit; text-decoration: none; }
    img { display: block; max-width: 100%; }
    .wrap { width: min(1120px, calc(100% - 40px)); margin: 0 auto; }
    .site-header { position: sticky; top: 0; z-index: 20; background: rgba(255,255,255,0.92); border-bottom: 1px solid rgba(163,193,212,0.42); backdrop-filter: blur(14px); }
    .header-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 76px; }
    .brand { display: inline-flex; align-items: center; gap: 14px; min-width: 230px; }
    .brand img { width: 104px; height: auto; }
    .brand-text { display: grid; gap: 2px; }
    .brand-text strong { font-size: 0.98rem; letter-spacing: 0.02em; }
    .brand-text span { color: var(--muted); font-size: 0.78rem; line-height: 1.35; }
    .nav { display: flex; align-items: center; justify-content: flex-end; gap: 4px; flex-wrap: wrap; }
    .nav a { border-radius: 999px; color: #2d4757; font-size: 0.92rem; font-weight: 700; line-height: 1; padding: 12px 14px; transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease; }
    .nav a:hover, .nav a[aria-current="page"] { background: var(--accent-soft); color: var(--accent-dark); transform: translateY(-1px); }
    .nav .contact-link { background: var(--ink); color: #fff; margin-left: 6px; }
    .nav .contact-link:hover { background: var(--accent); color: #fff; }
    .page-title-band { background: linear-gradient(180deg, #ffffff 0%, #e8f1f5 100%); border-bottom: 1px solid var(--line); padding: 54px 0 44px; }
    .breadcrumb { color: var(--muted); display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0 0 26px; padding: 0; font-size: 0.9rem; }
    .breadcrumb li:not(:last-child)::after { color: var(--accent-light); content: "/"; margin-left: 8px; }
    .breadcrumb a { color: var(--accent-dark); font-weight: 700; }
    .eyebrow { color: var(--accent); font-size: 0.86rem; font-weight: 800; letter-spacing: 0.12em; margin: 0 0 14px; text-transform: uppercase; }
    .page-title-band h1 { font-size: clamp(2.2rem, 5vw, 4.5rem); line-height: 1.08; margin: 0; max-width: 920px; }
    .page-title-band p { color: var(--muted); font-size: clamp(1rem, 2vw, 1.16rem); margin: 22px 0 0; max-width: 760px; }
    section { padding: 82px 0; }
    .section-head { align-items: end; display: flex; justify-content: space-between; gap: 24px; margin-bottom: 34px; }
    .section-head h2 { font-size: clamp(2rem, 4vw, 3.2rem); line-height: 1.12; margin: 0; max-width: 760px; }
    .section-head p { color: var(--muted); margin: 0; max-width: 480px; }
    .intro-layout { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 28px; align-items: center; }
    .lead-card, .service-card, .feature-card, .media-card, .contact-card { background: var(--surface); border: 1px solid var(--line); border-radius: 8px; box-shadow: var(--shadow); }
    .lead-card { padding: 34px; }
    .lead-card p { color: var(--muted); margin: 0 0 18px; }
    .lead-card p:last-child { margin-bottom: 0; }
    .visual-panel { background: linear-gradient(135deg, #ffffff, var(--accent-soft)); border: 1px solid var(--line); border-radius: 8px; min-height: 360px; padding: 34px; display: grid; place-items: center; }
    .visual-panel img { max-height: 310px; object-fit: contain; width: min(100%, 440px); }
    .anchor-nav { background: var(--accent-soft); border-block: 1px solid rgba(163,193,212,0.55); padding: 18px 0; position: sticky; top: 76px; z-index: 10; }
    .anchor-list { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; margin: 0; padding: 0; }
    .anchor-list a { background: #fff; border: 1px solid var(--line); border-radius: 999px; color: var(--accent-dark); display: inline-flex; font-weight: 800; padding: 10px 16px; }
    .service-grid, .feature-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
    .service-card, .feature-card { padding: 26px; }
    .service-card img { height: 54px; margin-bottom: 20px; object-fit: contain; width: 62px; }
    .service-card h3, .feature-card h3, .media-card h3, .contact-card h3 { font-size: 1.2rem; line-height: 1.35; margin: 0 0 12px; }
    .service-card p, .feature-card p, .media-card p, .contact-card p { color: var(--muted); margin: 0; }
    .text-link { color: var(--accent-dark); display: inline-flex; font-weight: 900; margin-top: 20px; }
    .band { background: var(--accent-soft); border-block: 1px solid rgba(163,193,212,0.55); }
    .split { display: grid; grid-template-columns: 0.95fr 1.05fr; gap: 28px; align-items: center; }
    .media-card { overflow: hidden; }
    .media-card img { background: #f7fafb; height: 260px; object-fit: contain; padding: 18px; width: 100%; }
    .media-card-body { padding: 22px; }
    .gallery-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
    .gallery-grid .media-card img { height: 230px; }
    .diagram-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
    .diagram-grid .media-card img { height: 240px; }
    .equipment-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
    .equipment-grid .media-card img { height: 300px; }
    .hosting-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; align-items: stretch; }
    .hosting-layout .media-card img { height: 310px; }
    .notice { border-left: 4px solid var(--accent); color: var(--muted); margin-top: 24px; padding-left: 18px; }
    .contact-section { background: #1f3542; color: #fff; }
    .contact-section .section-head p, .contact-section .eyebrow { color: rgba(255,255,255,0.72); }
    .contact-card { background: rgba(255,255,255,0.06); border-color: rgba(255,255,255,0.14); box-shadow: none; padding: 30px; }
    .contact-card p { color: rgba(255,255,255,0.74); }
    .button { align-items: center; background: #fff; border-radius: 999px; color: var(--ink); display: inline-flex; font-weight: 900; justify-content: center; min-height: 50px; padding: 14px 22px; margin-top: 22px; transition: transform 0.2s ease, background 0.2s ease; }
    .button:hover { background: #d9edf7; transform: translateY(-2px); }
    .site-footer { background: #1f3542; color: rgba(255,255,255,0.76); padding: 50px 0 28px; }
    .footer-grid { display: grid; grid-template-columns: 1.2fr repeat(3, minmax(0, 1fr)); gap: 28px; margin-bottom: 34px; }
    .footer-grid h2, .footer-grid h3 { color: #fff; font-size: 1rem; margin: 0 0 14px; }
    .footer-grid p { margin: 0; }
    .footer-links { display: grid; gap: 10px; list-style: none; margin: 0; padding: 0; }
    .footer-links a:hover { color: #d9edf7; }
    .copyright { border-top: 1px solid rgba(255,255,255,0.12); color: rgba(255,255,255,0.5); font-size: 0.86rem; margin: 0; padding-top: 22px; }
    @media (max-width: 980px) {
      .header-inner { align-items: flex-start; flex-direction: column; padding: 16px 0; }
      .nav { justify-content: flex-start; }
      .anchor-nav { position: static; }
      .intro-layout, .split, .service-grid, .feature-grid, .gallery-grid, .diagram-grid, .equipment-grid, .hosting-layout, .footer-grid { grid-template-columns: 1fr; }
      .section-head { align-items: flex-start; flex-direction: column; }
    }
    @media (max-width: 640px) {
      .wrap { width: min(100% - 28px, 1120px); }
      .brand img { width: 86px; }
      .nav { gap: 2px; }
      .nav a { font-size: 0.84rem; padding: 10px 11px; }
      .nav .contact-link { margin-left: 0; }
      .page-title-band { padding: 42px 0 32px; }
      section { padding: 62px 0; }
      .lead-card, .service-card, .feature-card, .media-card-body, .contact-card { padding: 22px; }
      .media-card img, .gallery-grid .media-card img, .diagram-grid .media-card img, .equipment-grid .media-card img, .hosting-layout .media-card img { height: auto; max-height: 320px; }
    }

/* Source: psys/psys-company-1.html */
:root {
      color-scheme: light;
      --ink: #1f3542;
      --muted: #5f6f78;
      --line: #d9e0df;
      --paper: #ffffff;
      --surface: #ffffff;
      --accent: #2e5d7c;
      --accent-dark: #244b66;
      --accent-soft: #e8f1f5;
      --accent-light: #a3c1d4;
      --shadow: 0 24px 60px rgba(46, 93, 124, 0.14);
      font-family: "Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, Arial, sans-serif;
      background: var(--paper);
      color: var(--ink);
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body { margin: 0; line-height: 1.75; background: var(--paper); }
    a { color: inherit; text-decoration: none; }
    img { display: block; max-width: 100%; }
    .wrap { width: min(1120px, calc(100% - 40px)); margin: 0 auto; }

    .site-header {
      position: sticky;
      top: 0;
      z-index: 20;
      background: rgba(255, 255, 255, 0.92);
      border-bottom: 1px solid rgba(163, 193, 212, 0.42);
      backdrop-filter: blur(14px);
    }

    .header-inner {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
      min-height: 76px;
    }

    .brand {
      display: inline-flex;
      align-items: center;
      gap: 14px;
      min-width: 230px;
    }

    .brand img { width: 104px; height: auto; }
    .brand-text { display: grid; gap: 2px; }
    .brand-text strong { font-size: 0.98rem; letter-spacing: 0.02em; }
    .brand-text span { color: var(--muted); font-size: 0.78rem; line-height: 1.35; }

    .nav {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      gap: 4px;
      flex-wrap: wrap;
    }

    .nav a {
      border-radius: 999px;
      color: #2d4757;
      font-size: 0.92rem;
      font-weight: 700;
      line-height: 1;
      padding: 12px 14px;
      transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
    }

    .nav a:hover,
    .nav a[aria-current="page"] {
      background: var(--accent-soft);
      color: var(--accent-dark);
      transform: translateY(-1px);
    }

    .nav .contact-link {
      background: var(--ink);
      color: #fff;
      margin-left: 6px;
    }

    .nav .contact-link:hover {
      background: var(--accent);
      color: #fff;
    }

    .page-title-band {
      background: linear-gradient(180deg, #ffffff 0%, #e8f1f5 100%);
      border-bottom: 1px solid var(--line);
      padding: 54px 0 28px;
    }

    .eyebrow {
      color: var(--accent);
      font-size: 0.86rem;
      font-weight: 800;
      letter-spacing: 0.12em;
      margin: 0 0 14px;
      text-transform: uppercase;
    }

    .page-title-band h1 {
      font-size: clamp(2.2rem, 5vw, 4.6rem);
      line-height: 1.08;
      margin: 0;
      max-width: 880px;
    }

    .page-title-band p {
      color: var(--muted);
      font-size: clamp(1rem, 2vw, 1.16rem);
      margin: 22px 0 0;
      max-width: 720px;
    }

    .breadcrumb {
      color: var(--muted);
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      list-style: none;
      margin: 0 0 26px;
      padding: 0;
      font-size: 0.9rem;
    }

    .breadcrumb li:not(:last-child)::after {
      color: var(--accent-light);
      content: "/";
      margin-left: 8px;
    }

    .breadcrumb a {
      color: var(--accent-dark);
      font-weight: 700;
    }

    section { padding: 82px 0; }

    .section-head {
      align-items: end;
      display: flex;
      justify-content: space-between;
      gap: 24px;
      margin-bottom: 34px;
    }

    .section-head h2 {
      font-size: clamp(2rem, 4vw, 3.2rem);
      line-height: 1.12;
      margin: 0;
      max-width: 760px;
    }

    .section-head p {
      color: var(--muted);
      margin: 0;
      max-width: 460px;
    }

    .intro-layout {
      display: grid;
      grid-template-columns: 1.05fr 0.95fr;
      gap: 28px;
      align-items: start;
    }

    .message-card,
    .profile-card,
    .office-card,
    .client-list {
      background: var(--surface);
      border: 1px solid var(--line);
      border-radius: 8px;
      box-shadow: var(--shadow);
    }

    .message-card { padding: 34px; }
    .message-card p { color: var(--muted); margin: 0 0 18px; }
    .message-card p:last-child { margin-bottom: 0; }

    .photo-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
    }

    .photo-grid figure {
      background: var(--accent-soft);
      border: 1px solid var(--line);
      border-radius: 8px;
      margin: 0;
      overflow: hidden;
    }

    .photo-grid figure:first-child { grid-column: 1 / -1; }
    .photo-grid img {
      aspect-ratio: 16 / 10;
      height: 100%;
      object-fit: cover;
      width: 100%;
    }

    .photo-grid figcaption {
      color: var(--muted);
      font-size: 0.82rem;
      padding: 10px 12px;
    }

    .profile-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 22px;
    }

    #profile .profile-grid {
      display: none;
    }

    .company-overview {
      align-items: start;
      display: grid;
      grid-template-columns: minmax(280px, 0.92fr) minmax(0, 1fr);
      gap: clamp(28px, 5vw, 56px);
    }

    .company-overview-photo {
      margin: 0;
    }

    .company-overview-photo img {
      aspect-ratio: 4 / 3;
      border-radius: 2px;
      height: 100%;
      object-fit: cover;
      width: 100%;
    }

    .company-overview-list {
      border-top: 1px solid var(--line);
      margin: 0;
      padding: 0;
    }

    .company-overview-row {
      border-bottom: 1px solid var(--line);
      display: grid;
      grid-template-columns: 152px minmax(0, 1fr);
      gap: 24px;
      padding: 18px 0;
    }

    .company-overview-row dt {
      color: var(--accent-dark);
      font-size: 0.86rem;
      font-weight: 900;
      line-height: 1.65;
    }

    .company-overview-row dd {
      color: var(--ink);
      font-weight: 700;
      line-height: 1.8;
      margin: 0;
    }

    .office-section {
      display: none;
    }

    .profile-card { overflow: hidden; }
    .profile-card h3 {
      background: var(--accent);
      color: #fff;
      font-size: 1rem;
      margin: 0;
      padding: 15px 20px;
    }

    .definition-list {
      margin: 0;
      padding: 0;
    }

    .definition-row {
      border-top: 1px solid var(--line);
      display: grid;
      grid-template-columns: 128px 1fr;
      gap: 18px;
      padding: 17px 20px;
    }

    .definition-row:first-child { border-top: 0; }
    .definition-row dt {
      color: var(--accent-dark);
      font-weight: 900;
    }

    .definition-row dd {
      color: var(--muted);
      margin: 0;
    }

    .business-list {
      display: grid;
      gap: 10px;
      list-style: none;
      margin: 0;
      padding: 20px;
    }

    .business-list li {
      border-bottom: 1px solid var(--line);
      color: var(--muted);
      padding: 0 0 10px;
    }

    .business-list li:last-child { border-bottom: 0; padding-bottom: 0; }

    .office-section {
      background: var(--accent-soft);
      border-block: 1px solid rgba(163, 193, 212, 0.55);
    }

    .office-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 18px;
    }

    .office-card {
      display: grid;
      grid-template-columns: 180px 1fr;
      overflow: hidden;
      min-height: 260px;
    }

    .office-card img {
      height: 100%;
      object-fit: cover;
      width: 100%;
    }

    .office-body { padding: 26px; }
    .office-body h3 {
      font-size: 1.35rem;
      margin: 0 0 16px;
    }

    .office-body p {
      color: var(--muted);
      margin: 0 0 12px;
    }

    .office-body strong { color: var(--ink); }

    .map-link {
      border: 1px solid var(--accent-light);
      border-radius: 999px;
      color: var(--accent-dark);
      display: inline-flex;
      font-size: 0.9rem;
      font-weight: 800;
      line-height: 1;
      margin: 2px 0 14px;
      padding: 10px 14px;
    }

    .map-link:hover {
      background: var(--accent-soft);
    }

    .timeline {
      display: grid;
      gap: 0;
      border-top: 1px solid var(--line);
    }

    .timeline-item {
      border-bottom: 1px solid var(--line);
      display: grid;
      grid-template-columns: 150px 1fr;
      gap: 28px;
      padding: 22px 0;
    }

    .timeline-item time {
      color: var(--accent-dark);
      font-size: 1.18rem;
      font-weight: 900;
      line-height: 1.2;
    }

    .timeline-item p {
      color: var(--muted);
      margin: 0;
    }

    .clients {
      display: grid;
      gap: 22px;
      align-items: start;
    }

    .client-list {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 0;
      list-style: none;
      margin: 0;
      overflow: hidden;
      padding: 0;
    }

    .client-list li {
      border-bottom: 1px solid var(--line);
      color: var(--muted);
      padding: 16px 20px;
    }

    .client-list li:not(:nth-child(3n)) { border-right: 1px solid var(--line); }

    .aside-panel {
      background: var(--accent);
      border-radius: 8px;
      color: #fff;
      padding: 28px;
    }

    .aside-panel h3 {
      font-size: 1.35rem;
      line-height: 1.35;
      margin: 0 0 14px;
    }

    .aside-panel p {
      color: rgba(255, 255, 255, 0.82);
      margin: 0 0 20px;
    }

    .contact-section {
      background: var(--accent-soft);
      border-top: 1px solid rgba(163, 193, 212, 0.55);
    }

    .contact-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 18px;
    }

    .contact-card {
      background: #fff;
      border: 1px solid var(--line);
      border-radius: 8px;
      box-shadow: var(--shadow);
      padding: 30px;
    }

    .contact-card h3 {
      font-size: 1.35rem;
      margin: 0 0 10px;
    }

    .contact-card p {
      color: var(--muted);
      margin: 0 0 16px;
    }

    .contact-card .tel {
      color: var(--accent-dark);
      display: block;
      font-size: clamp(1.7rem, 4vw, 2.6rem);
      font-weight: 900;
      line-height: 1.15;
      margin: 8px 0;
    }

    .button {
      align-items: center;
      background: var(--ink);
      border-radius: 999px;
      color: #fff;
      display: inline-flex;
      font-weight: 800;
      justify-content: center;
      min-height: 50px;
      padding: 14px 22px;
      transition: box-shadow 0.2s ease, transform 0.2s ease, background 0.2s ease;
    }

    .button:hover {
      background: var(--accent-dark);
      box-shadow: 0 20px 42px rgba(46, 93, 124, 0.18);
      transform: translateY(-2px);
    }

    .site-footer {
      background: #1f3542;
      color: rgba(255, 255, 255, 0.76);
      padding: 50px 0 28px;
    }

    .footer-grid {
      display: grid;
      grid-template-columns: 1.2fr repeat(3, minmax(0, 1fr));
      gap: 28px;
      margin-bottom: 34px;
    }

    .footer-grid h2,
    .footer-grid h3 {
      color: #fff;
      font-size: 1rem;
      margin: 0 0 14px;
    }

    .footer-grid p { margin: 0; }
    .footer-links {
      display: grid;
      gap: 10px;
      list-style: none;
      margin: 0;
      padding: 0;
    }

    .footer-links a:hover { color: #d9edf7; }
    .copyright {
      border-top: 1px solid rgba(255, 255, 255, 0.12);
      color: rgba(255, 255, 255, 0.5);
      font-size: 0.86rem;
      margin: 0;
      padding-top: 22px;
    }

    @media (max-width: 980px) {
      .header-inner { align-items: flex-start; flex-direction: column; padding: 16px 0; }
      .nav { justify-content: flex-start; }
      .intro-layout,
      .company-overview,
      .profile-grid,
      .office-grid,
      .contact-grid,
      .clients,
      .footer-grid {
        grid-template-columns: 1fr;
      }
      .section-head {
        align-items: flex-start;
        flex-direction: column;
      }
      .office-card { grid-template-columns: 1fr; }
      .office-card img { height: 260px; }
    }

    @media (max-width: 640px) {
      .wrap { width: min(100% - 28px, 1120px); }
      .brand img { width: 86px; }
      .nav { gap: 2px; }
      .nav a { font-size: 0.84rem; padding: 10px 11px; }
      .nav .contact-link { margin-left: 0; }
      .page-title-band { padding: 42px 0 26px; }
      section { padding: 62px 0; }
      .message-card,
      .office-body,
      .contact-card,
      .aside-panel {
        padding: 22px;
      }
      .photo-grid,
      .client-list {
        grid-template-columns: 1fr;
      }
      .client-list li:not(:nth-child(3n)) { border-right: 0; }
      .definition-row,
      .company-overview-row,
      .timeline-item {
        grid-template-columns: 1fr;
        gap: 8px;
      }
    }

/* Source: psys/psys-packagesoft-uu70-kumiaiin.html */
:root{color-scheme:light;--ink:#1f3542;--muted:#5f6f78;--line:#d9e0df;--paper:#fff;--surface:#fff;--accent:#2e5d7c;--accent-dark:#244b66;--accent-soft:#e8f1f5;--accent-light:#a3c1d4;--shadow:0 24px 60px rgba(46,93,124,.14);font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,Arial,sans-serif;color:var(--ink);background:var(--paper)}
    *{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;line-height:1.75;background:var(--paper)}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.wrap{width:min(1120px,calc(100% - 40px));margin:0 auto}
    .site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.92);border-bottom:1px solid rgba(163,193,212,.42);backdrop-filter:blur(14px)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px}.brand{display:inline-flex;align-items:center;gap:14px;min-width:230px}.brand img{width:104px}.brand-text{display:grid;gap:2px}.brand-text strong{font-size:.98rem;letter-spacing:.02em}.brand-text span{color:var(--muted);font-size:.78rem;line-height:1.35}.nav{display:flex;align-items:center;justify-content:flex-end;gap:4px;flex-wrap:wrap}.nav a{border-radius:999px;color:#2d4757;font-size:.92rem;font-weight:700;line-height:1;padding:12px 14px;transition:background .2s,color .2s,transform .2s}.nav a:hover,.nav a[aria-current="page"]{background:var(--accent-soft);color:var(--accent-dark);transform:translateY(-1px)}.nav .contact-link{background:var(--ink);color:#fff;margin-left:6px}.nav .contact-link:hover{background:var(--accent);color:#fff}
    .hero{background:linear-gradient(180deg,#fff 0%,#e8f1f5 100%);border-bottom:1px solid var(--line);padding:54px 0 58px}.breadcrumb{color:var(--muted);display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 26px;padding:0;font-size:.9rem}.breadcrumb li:not(:last-child)::after{color:var(--accent-light);content:"/";margin-left:8px}.breadcrumb a{color:var(--accent-dark);font-weight:700}.hero-grid{align-items:center;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:42px}.eyebrow{color:var(--accent);font-size:.86rem;font-weight:800;letter-spacing:.12em;margin:0 0 14px;text-transform:uppercase}.hero h1{font-size:clamp(2.25rem,5.2vw,4.7rem);line-height:1.06;margin:0}.hero-copy{color:var(--muted);font-size:clamp(1rem,2vw,1.16rem);margin:22px 0 0;max-width:760px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.button{align-items:center;background:var(--ink);border-radius:999px;color:#fff;display:inline-flex;font-weight:900;justify-content:center;min-height:50px;padding:14px 22px;transition:background .2s,box-shadow .2s,transform .2s}.button:hover{background:var(--accent-dark);box-shadow:0 20px 42px rgba(46,93,124,.18);transform:translateY(-2px)}.button.secondary{background:#fff;border:1px solid var(--accent-light);color:var(--accent-dark)}.product-shot{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:20px}.product-shot .logo-strip{align-items:center;display:flex;gap:14px;margin-bottom:18px}.product-shot .logo-strip img:first-child{height:44px;width:48px}.product-shot .logo-strip img:last-child{height:auto;max-width:330px}.screen-frame{background:#f8fbfc;border:1px solid var(--line);border-radius:8px;padding:12px}.screen-frame img{border-radius:6px;width:100%}.caption{color:var(--muted);font-size:.9rem;margin:10px 0 0}
    section{padding:82px 0}.section-head{align-items:end;display:flex;justify-content:space-between;gap:24px;margin-bottom:34px}.section-head h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1.12;margin:0;max-width:760px}.section-head p{color:var(--muted);margin:0;max-width:500px}.band{background:var(--accent-soft);border-block:1px solid rgba(163,193,212,.55)}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:8px;overflow:hidden}.stat{background:#fff;padding:26px}.stat strong{display:block;font-size:1.45rem;line-height:1.2}.stat span{color:var(--muted);display:block;margin-top:6px}.feature-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:24px}.problem-list,.feature-list{display:grid;gap:14px}.problem,.feature,.card,.price-card,.spec-card,.notice-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:28px}.problem strong{display:block;font-size:1.05rem;margin-bottom:8px}.problem p,.feature p,.card p,.price-card p,.spec-card p,.notice-card p{color:var(--muted);margin:0}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card h3,.feature h3,.price-card h3,.spec-card h3,.notice-card h3{font-size:1.18rem;line-height:1.35;margin:0 0 12px}.card ul,.feature ul,.spec-card ul,.notice-card ul{display:grid;gap:8px;list-style:none;margin:12px 0 0;padding:0}.card li,.feature li,.spec-card li,.notice-card li{color:var(--muted);padding-left:18px;position:relative}.card li::before,.feature li::before,.spec-card li::before,.notice-card li::before{background:var(--accent-light);border-radius:999px;content:"";height:7px;left:0;position:absolute;top:.75em;width:7px}.text-link{color:var(--accent-dark);display:inline-flex;font-weight:900;margin-top:18px}
    .image-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.image-card{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:18px}.image-card img{border-radius:6px;width:100%}.image-card p{color:var(--muted);font-weight:700;margin:12px 0 0}.function-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.function-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:22px}.function-card h3{border-bottom:1px solid var(--line);margin:0 0 14px;padding-bottom:10px}.function-card ul{display:grid;gap:8px;list-style:none;margin:0;padding:0}.function-card li{color:var(--muted)}.function-card a,.document-list a{color:var(--accent-dark);font-weight:800;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.document-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.document-list a{align-items:center;background:#fff;border:1px solid var(--line);border-radius:8px;display:flex;gap:10px;padding:14px}.document-list img{height:22px;object-fit:contain;width:26px}.price-grid,.spec-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.price-card{display:grid;gap:12px}.price-row{align-items:start;border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;padding-top:14px}.price-row:first-of-type{border-top:0;padding-top:0}.price-name{font-weight:800}.price-note{color:var(--muted);font-size:.9rem}.price{color:var(--accent-dark);font-size:1.2rem;font-weight:900;text-align:right;white-space:nowrap}.spec-table{border-top:1px solid var(--line);margin-top:14px}.spec-row{border-bottom:1px solid var(--line);display:grid;grid-template-columns:132px minmax(0,1fr);gap:16px;padding:13px 0}.spec-key{font-weight:900}.spec-value{color:var(--muted)}.contact-section{background:#1f3542;color:#fff}.contact-section .section-head p,.contact-section .eyebrow{color:rgba(255,255,255,.72)}.contact-card{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);box-shadow:none;padding:30px}.contact-card p{color:rgba(255,255,255,.74)}.contact-card .button{background:#fff;color:var(--ink)}.contact-card .button:hover{background:#d9edf7}.site-footer{background:#1f3542;color:rgba(255,255,255,.76);padding:50px 0 28px}.footer-grid{display:grid;grid-template-columns:1.2fr repeat(3,minmax(0,1fr));gap:28px;margin-bottom:34px}.footer-grid h2,.footer-grid h3{color:#fff;font-size:1rem;margin:0 0 14px}.footer-grid p{margin:0}.footer-links{display:grid;gap:10px;list-style:none;margin:0;padding:0}.footer-links a:hover{color:#d9edf7}.copyright{border-top:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.5);font-size:.86rem;margin:0;padding-top:22px}
    @media(max-width:980px){.header-inner{align-items:flex-start;flex-direction:column;padding:16px 0}.nav{justify-content:flex-start}.hero-grid,.feature-layout,.stats,.card-grid,.image-grid,.function-grid,.document-list,.price-grid,.spec-grid,.footer-grid{grid-template-columns:1fr}.section-head{align-items:flex-start;flex-direction:column}.product-shot .logo-strip{align-items:flex-start;flex-direction:column}}@media(max-width:640px){.wrap{width:min(100% - 28px,1120px)}.brand img{width:86px}.nav{gap:2px}.nav a{font-size:.84rem;padding:10px 11px}.nav .contact-link{margin-left:0}.hero{padding:42px 0 44px}section{padding:62px 0}.problem,.feature,.card,.price-card,.spec-card,.notice-card,.stat,.function-card,.contact-card{padding:22px}.price-row,.spec-row{grid-template-columns:1fr}.price{text-align:left}.hero-actions{display:grid}.button{width:100%}}

/* Source: psys/psys-packagesoft-uu70.html */
:root{color-scheme:light;--ink:#1f3542;--muted:#5f6f78;--line:#d9e0df;--paper:#fff;--surface:#fff;--accent:#2e5d7c;--accent-dark:#244b66;--accent-soft:#e8f1f5;--accent-light:#a3c1d4;--shadow:0 24px 60px rgba(46,93,124,.14);font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,Arial,sans-serif;color:var(--ink);background:var(--paper)}
    *{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;line-height:1.75;background:var(--paper)}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.wrap{width:min(1120px,calc(100% - 40px));margin:0 auto}
    .site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.92);border-bottom:1px solid rgba(163,193,212,.42);backdrop-filter:blur(14px)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px}.brand{display:inline-flex;align-items:center;gap:14px;min-width:230px}.brand img{width:104px}.brand-text{display:grid;gap:2px}.brand-text strong{font-size:.98rem;letter-spacing:.02em}.brand-text span{color:var(--muted);font-size:.78rem;line-height:1.35}.nav{display:flex;align-items:center;justify-content:flex-end;gap:4px;flex-wrap:wrap}.nav a{border-radius:999px;color:#2d4757;font-size:.92rem;font-weight:700;line-height:1;padding:12px 14px;transition:background .2s,color .2s,transform .2s}.nav a:hover,.nav a[aria-current="page"]{background:var(--accent-soft);color:var(--accent-dark);transform:translateY(-1px)}.nav .contact-link{background:var(--ink);color:#fff;margin-left:6px}.nav .contact-link:hover{background:var(--accent);color:#fff}
    .hero{background:linear-gradient(180deg,#fff 0%,#e8f1f5 100%);border-bottom:1px solid var(--line);padding:54px 0 58px}.breadcrumb{color:var(--muted);display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 26px;padding:0;font-size:.9rem}.breadcrumb li:not(:last-child)::after{color:var(--accent-light);content:"/";margin-left:8px}.breadcrumb a{color:var(--accent-dark);font-weight:700}.hero-grid{align-items:center;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:42px}.eyebrow{color:var(--accent);font-size:.86rem;font-weight:800;letter-spacing:.12em;margin:0 0 14px;text-transform:uppercase}.hero h1{font-size:clamp(2.25rem,5.2vw,4.7rem);line-height:1.06;margin:0}.hero-copy{color:var(--muted);font-size:clamp(1rem,2vw,1.16rem);margin:22px 0 0;max-width:760px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.button{align-items:center;background:var(--ink);border-radius:999px;color:#fff;display:inline-flex;font-weight:900;justify-content:center;min-height:50px;padding:14px 22px;transition:background .2s,box-shadow .2s,transform .2s}.button:hover{background:var(--accent-dark);box-shadow:0 20px 42px rgba(46,93,124,.18);transform:translateY(-2px)}.button.secondary{background:#fff;border:1px solid var(--accent-light);color:var(--accent-dark)}.product-shot{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:20px}.product-shot .logo-strip{align-items:center;display:flex;gap:14px;margin-bottom:18px}.product-shot .logo-strip img:first-child{height:44px;width:48px}.product-shot .logo-strip img:last-child{height:auto;max-width:320px}.screen-frame{background:#f8fbfc;border:1px solid var(--line);border-radius:8px;padding:12px}.screen-frame img{border-radius:6px;width:100%}.caption{color:var(--muted);font-size:.9rem;margin:10px 0 0}
    section{padding:82px 0}.section-head{align-items:end;display:flex;justify-content:space-between;gap:24px;margin-bottom:34px}.section-head h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1.12;margin:0;max-width:760px}.section-head p{color:var(--muted);margin:0;max-width:500px}.band{background:var(--accent-soft);border-block:1px solid rgba(163,193,212,.55)}
    .stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:8px;overflow:hidden}.stat{background:#fff;padding:26px}.stat strong{display:block;font-size:1.45rem;line-height:1.2}.stat span{color:var(--muted);display:block;margin-top:6px}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card,.price-card,.spec-card,.notice-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:28px}.card h3,.price-card h3,.spec-card h3,.notice-card h3{font-size:1.18rem;line-height:1.35;margin:0 0 12px}.card p,.price-card p,.spec-card p,.notice-card p{color:var(--muted);margin:0}.card ul,.spec-card ul,.notice-card ul{display:grid;gap:8px;list-style:none;margin:12px 0 0;padding:0}.card li,.spec-card li,.notice-card li{color:var(--muted);padding-left:18px;position:relative}.card li::before,.spec-card li::before,.notice-card li::before{background:var(--accent-light);border-radius:999px;content:"";height:7px;left:0;position:absolute;top:.75em;width:7px}.text-link{color:var(--accent-dark);display:inline-flex;font-weight:900;margin-top:18px}.image-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.image-card{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:18px}.image-card img{border-radius:6px;width:100%}.image-card p{color:var(--muted);font-weight:700;margin:12px 0 0}
    .feature-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:24px}.problem-list{display:grid;gap:14px}.problem{background:#fff;border:1px solid var(--line);border-radius:8px;padding:22px}.problem strong{display:block;font-size:1.05rem;margin-bottom:8px}.problem p{color:var(--muted);margin:0}.feature-list{display:grid;gap:14px}.feature{background:#fff;border:1px solid var(--line);border-radius:8px;padding:22px}.feature h3{margin:0 0 8px}.feature p{color:var(--muted);margin:0}
    .function-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.function-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:22px}.function-card h3{border-bottom:1px solid var(--line);margin:0 0 14px;padding-bottom:10px}.function-card ul{display:grid;gap:8px;list-style:none;margin:0;padding:0}.function-card li{color:var(--muted)}.function-card a,.document-list a{color:var(--accent-dark);font-weight:800;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.document-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.document-list a{align-items:center;background:#fff;border:1px solid var(--line);border-radius:8px;display:flex;gap:10px;padding:14px}.document-list img{height:17px;width:17px}.price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.price-card{display:grid;gap:12px}.price-row{align-items:start;border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;padding-top:14px}.price-row:first-of-type{border-top:0;padding-top:0}.price-name{font-weight:800}.price-note{color:var(--muted);font-size:.9rem}.price{color:var(--accent-dark);font-size:1.2rem;font-weight:900;text-align:right;white-space:nowrap}.spec-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.spec-table{border-top:1px solid var(--line);margin-top:14px}.spec-row{border-bottom:1px solid var(--line);display:grid;grid-template-columns:132px minmax(0,1fr);gap:16px;padding:13px 0}.spec-key{font-weight:900}.spec-value{color:var(--muted)}.timeline{display:grid;gap:10px}.history{align-items:start;background:#fff;border:1px solid var(--line);border-radius:8px;display:grid;grid-template-columns:88px minmax(0,1fr);gap:16px;padding:16px}.version{color:var(--accent-dark);font-weight:900}.history p{color:var(--muted);margin:0}.contact-section{background:#1f3542;color:#fff}.contact-section .section-head p,.contact-section .eyebrow{color:rgba(255,255,255,.72)}.contact-card{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);box-shadow:none;padding:30px}.contact-card p{color:rgba(255,255,255,.74)}.contact-card .button{background:#fff;color:var(--ink)}.contact-card .button:hover{background:#d9edf7}
    .site-footer{background:#1f3542;color:rgba(255,255,255,.76);padding:50px 0 28px}.footer-grid{display:grid;grid-template-columns:1.2fr repeat(3,minmax(0,1fr));gap:28px;margin-bottom:34px}.footer-grid h2,.footer-grid h3{color:#fff;font-size:1rem;margin:0 0 14px}.footer-grid p{margin:0}.footer-links{display:grid;gap:10px;list-style:none;margin:0;padding:0}.footer-links a:hover{color:#d9edf7}.copyright{border-top:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.5);font-size:.86rem;margin:0;padding-top:22px}
    @media(max-width:980px){.header-inner{align-items:flex-start;flex-direction:column;padding:16px 0}.nav{justify-content:flex-start}.hero-grid,.feature-layout,.stats,.card-grid,.image-grid,.function-grid,.document-list,.price-grid,.spec-grid,.footer-grid{grid-template-columns:1fr}.section-head{align-items:flex-start;flex-direction:column}.product-shot .logo-strip{align-items:flex-start;flex-direction:column}}@media(max-width:640px){.wrap{width:min(100% - 28px,1120px)}.brand img{width:86px}.nav{gap:2px}.nav a{font-size:.84rem;padding:10px 11px}.nav .contact-link{margin-left:0}.hero{padding:42px 0 44px}section{padding:62px 0}.card,.price-card,.spec-card,.notice-card,.stat,.function-card,.feature,.problem,.contact-card{padding:22px}.price-row,.spec-row,.history{grid-template-columns:1fr}.price{text-align:left}.hero-actions{display:grid}.button{width:100%}}

/* Source: psys/psys-privacy-1.html */
:root{color-scheme:light;--ink:#1f3542;--muted:#5f6f78;--line:#d9e0df;--paper:#fff;--surface:#fff;--accent:#2e5d7c;--accent-dark:#244b66;--accent-soft:#e8f1f5;--accent-light:#a3c1d4;--shadow:0 24px 60px rgba(46,93,124,.14);font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,Arial,sans-serif;color:var(--ink);background:var(--paper)}
    *{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;line-height:1.75;background:var(--paper)}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.wrap{width:min(1120px,calc(100% - 40px));margin:0 auto}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.92);border-bottom:1px solid rgba(163,193,212,.42);backdrop-filter:blur(14px)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px}.brand{display:inline-flex;align-items:center;gap:14px;min-width:230px}.brand img{width:104px}.brand-text{display:grid;gap:2px}.brand-text strong{font-size:.98rem;letter-spacing:.02em}.brand-text span{color:var(--muted);font-size:.78rem;line-height:1.35}.nav{display:flex;align-items:center;justify-content:flex-end;gap:4px;flex-wrap:wrap}.nav a{border-radius:999px;color:#2d4757;font-size:.92rem;font-weight:700;line-height:1;padding:12px 14px;transition:background .2s,color .2s,transform .2s}.nav a:hover,.nav a[aria-current="page"]{background:var(--accent-soft);color:var(--accent-dark);transform:translateY(-1px)}.nav .contact-link{background:var(--ink);color:#fff;margin-left:6px}.nav .contact-link:hover{background:var(--accent);color:#fff}.page-title-band{background:linear-gradient(180deg,#fff 0%,#e8f1f5 100%);border-bottom:1px solid var(--line);padding:54px 0 44px}.breadcrumb{color:var(--muted);display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 26px;padding:0;font-size:.9rem}.breadcrumb li:not(:last-child)::after{color:var(--accent-light);content:"/";margin-left:8px}.breadcrumb a{color:var(--accent-dark);font-weight:700}.eyebrow{color:var(--accent);font-size:.86rem;font-weight:800;letter-spacing:.12em;margin:0 0 14px;text-transform:uppercase}.page-title-band h1{font-size:clamp(2.2rem,5vw,4.4rem);line-height:1.08;margin:0}.page-title-band p{color:var(--muted);font-size:clamp(1rem,2vw,1.16rem);margin:22px 0 0;max-width:780px}section{padding:82px 0}.policy-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:28px;align-items:start}.toc{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:22px;position:sticky;top:100px}.toc h2{font-size:1rem;margin:0 0 12px}.toc ol{display:grid;gap:8px;list-style:none;margin:0;padding:0}.toc a{color:var(--accent-dark);font-weight:800}.policy-body{display:grid;gap:18px}.policy-card{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:30px}.policy-card h2{font-size:1.45rem;line-height:1.35;margin:0 0 14px}.policy-card h3{font-size:1.08rem;margin:22px 0 8px}.policy-card p{color:var(--muted);margin:0 0 12px}.policy-card p:last-child{margin-bottom:0}.policy-card ul{display:grid;gap:8px;list-style:none;margin:12px 0 0;padding:0}.policy-card li{color:var(--muted);padding-left:18px;position:relative}.policy-card li::before{background:var(--accent-light);border-radius:999px;content:"";height:7px;left:0;position:absolute;top:.75em;width:7px}.meta-box{background:var(--accent-soft);border:1px solid rgba(163,193,212,.7);border-radius:8px;color:var(--muted);padding:18px}.text-link{color:var(--accent-dark);font-weight:900;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.contact-panel{background:#1f3542;color:#fff}.contact-panel p,.contact-panel li{color:rgba(255,255,255,.76)}.contact-panel .text-link{color:#d9edf7}.site-footer{background:#1f3542;color:rgba(255,255,255,.76);padding:50px 0 28px}.footer-grid{display:grid;grid-template-columns:1.2fr repeat(3,minmax(0,1fr));gap:28px;margin-bottom:34px}.footer-grid h2,.footer-grid h3{color:#fff;font-size:1rem;margin:0 0 14px}.footer-grid p{margin:0}.footer-links{display:grid;gap:10px;list-style:none;margin:0;padding:0}.footer-links a:hover{color:#d9edf7}.copyright{border-top:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.5);font-size:.86rem;margin:0;padding-top:22px}@media(max-width:980px){.header-inner{align-items:flex-start;flex-direction:column;padding:16px 0}.nav{justify-content:flex-start}.policy-layout,.footer-grid{grid-template-columns:1fr}.toc{position:static}.toc ol{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.wrap{width:min(100% - 28px,1120px)}.brand img{width:86px}.nav{gap:2px}.nav a{font-size:.84rem;padding:10px 11px}.nav .contact-link{margin-left:0}.page-title-band{padding:42px 0 32px}section{padding:62px 0}.policy-card,.toc{padding:22px}.toc ol{grid-template-columns:1fr}}

/* Source: psys/psys-recruit-1.html */
:root { color-scheme: light; --ink:#1f3542; --muted:#5f6f78; --line:#d9e0df; --paper:#fff; --surface:#fff; --accent:#2e5d7c; --accent-dark:#244b66; --accent-soft:#e8f1f5; --accent-light:#a3c1d4; --warm:#f4a261; --warm-soft:#fff4ea; --shadow:0 24px 60px rgba(46,93,124,.14); font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,Arial,sans-serif; background:var(--paper); color:var(--ink); }
    *{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;line-height:1.75;background:var(--paper)} a{color:inherit;text-decoration:none} img{display:block;max-width:100%}.wrap{width:min(1120px,calc(100% - 40px));margin:0 auto}
    .site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.92);border-bottom:1px solid rgba(163,193,212,.42);backdrop-filter:blur(14px)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px}.brand{display:inline-flex;align-items:center;gap:14px;min-width:230px}.brand img{width:104px;height:auto}.brand-text{display:grid;gap:2px}.brand-text strong{font-size:.98rem;letter-spacing:.02em}.brand-text span{color:var(--muted);font-size:.78rem;line-height:1.35}.nav{display:flex;align-items:center;justify-content:flex-end;gap:4px;flex-wrap:wrap}.nav a{border-radius:999px;color:#2d4757;font-size:.92rem;font-weight:700;line-height:1;padding:12px 14px;transition:background .2s ease,color .2s ease,transform .2s ease}.nav a:hover,.nav a[aria-current="page"]{background:var(--accent-soft);color:var(--accent-dark);transform:translateY(-1px)}.nav .contact-link{background:var(--ink);color:#fff;margin-left:6px}.nav .contact-link:hover{background:var(--accent);color:#fff}
    .page-title-band{background:linear-gradient(180deg,#fff 0%,#e8f1f5 100%);border-bottom:1px solid var(--line);padding:54px 0 34px}.breadcrumb{color:var(--muted);display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 26px;padding:0;font-size:.9rem}.breadcrumb li:not(:last-child)::after{color:var(--accent-light);content:"/";margin-left:8px}.breadcrumb a{color:var(--accent-dark);font-weight:700}.eyebrow{color:var(--accent);font-size:.86rem;font-weight:800;letter-spacing:.12em;margin:0 0 14px;text-transform:uppercase}.page-title-band h1{font-size:clamp(2.2rem,5vw,4.8rem);line-height:1.08;margin:0;max-width:920px}.page-title-band p{color:var(--muted);font-size:clamp(1rem,2vw,1.16rem);margin:22px 0 0;max-width:780px}
    section{padding:82px 0}section.alt{background:#f7fbfc;border-block:1px solid var(--line)}.section-head{align-items:end;display:flex;justify-content:space-between;gap:24px;margin-bottom:34px}.section-head h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1.12;margin:0;max-width:760px}.section-head p{color:var(--muted);margin:0;max-width:480px}.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:28px;align-items:stretch}.message-card,.photo-card,.value-card,.job-card,.flow-card,.note-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.message-card{padding:34px}.message-card h2{font-size:clamp(1.7rem,3vw,2.45rem);line-height:1.25;margin:0 0 18px}.message-card p{color:var(--muted);margin:0 0 18px}.message-card p:last-child{margin-bottom:0}.photo-card{overflow:hidden}.photo-card img{aspect-ratio:4/3;height:100%;object-fit:cover;width:100%}.quick-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.button{align-items:center;background:var(--accent);border:1px solid var(--accent);border-radius:999px;color:#fff;display:inline-flex;font-weight:800;justify-content:center;min-height:46px;padding:12px 20px;transition:background .2s ease,border-color .2s ease,transform .2s ease}.button:hover{background:var(--accent-dark);border-color:var(--accent-dark);transform:translateY(-1px)}.button.secondary{background:#fff;color:var(--accent-dark);border-color:var(--line)}.button.secondary:hover{background:var(--accent-soft);border-color:var(--accent-light)}
    .value-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.value-card{padding:26px}.value-card span{align-items:center;background:var(--warm-soft);border:1px solid rgba(244,162,97,.38);border-radius:999px;color:#9c5423;display:inline-flex;font-size:.78rem;font-weight:800;height:32px;justify-content:center;min-width:70px;padding:0 12px}.value-card h3{font-size:1.18rem;margin:16px 0 10px}.value-card p{color:var(--muted);margin:0}.jobs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.job-card{display:flex;flex-direction:column;padding:28px}.job-card h3{font-size:clamp(1.4rem,2.6vw,2rem);line-height:1.22;margin:0 0 8px}.job-card .lead{color:var(--accent-dark);font-weight:800;margin:0 0 20px}.spec-list{border-top:1px solid var(--line);display:grid;margin:0}.spec-list div{border-bottom:1px solid var(--line);display:grid;gap:10px;grid-template-columns:130px 1fr;padding:14px 0}.spec-list dt{color:var(--accent-dark);font-weight:800}.spec-list dd{color:var(--muted);margin:0}.tag-list{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:18px 0 0;padding:0}.tag-list li{background:var(--accent-soft);border:1px solid rgba(163,193,212,.6);border-radius:999px;color:var(--accent-dark);font-size:.86rem;font-weight:700;padding:6px 12px}
    .flow-grid{counter-reset:flow;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.flow-card{min-height:160px;padding:24px}.flow-card::before{color:var(--accent-light);content:counter(flow,decimal-leading-zero);counter-increment:flow;display:block;font-size:.92rem;font-weight:900;letter-spacing:.1em;margin-bottom:14px}.flow-card h3{font-size:1.08rem;margin:0 0 8px}.flow-card p{color:var(--muted);margin:0}.candidate-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:28px;align-items:start}.note-card{padding:30px}.note-card h3{font-size:clamp(1.55rem,3vw,2.3rem);line-height:1.22;margin:0 0 16px}.note-card p{color:var(--muted);margin:0 0 16px}.note-card p:last-child{margin-bottom:0}.point-list{display:grid;gap:12px;list-style:none;margin:0;padding:0}.point-list li{background:#fff;border:1px solid var(--line);border-radius:8px;padding:18px 20px}.point-list strong{color:var(--accent-dark);display:block;font-size:1.04rem;margin-bottom:4px}.point-list span{color:var(--muted)}.cta-band{background:var(--ink);color:#fff;padding:72px 0}.cta-inner{align-items:center;display:flex;justify-content:space-between;gap:28px}.cta-inner h2{font-size:clamp(1.9rem,4vw,3.3rem);line-height:1.15;margin:0 0 14px}.cta-inner p{color:rgba(255,255,255,.78);margin:0;max-width:680px}.cta-inner .button{background:#fff;border-color:#fff;color:var(--ink);flex:0 0 auto}.cta-inner .button:hover{background:var(--accent-light);border-color:var(--accent-light);color:var(--ink)}
    .site-footer{background:#172832;color:#fff;padding:54px 0 28px}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:28px}.site-footer h2,.site-footer h3{font-size:1rem;margin:0 0 12px}.site-footer p,.site-footer a{color:rgba(255,255,255,.72)}.footer-links{display:grid;gap:8px;list-style:none;margin:0;padding:0}.footer-links a:hover{color:#fff}.copyright{border-top:1px solid rgba(255,255,255,.14);font-size:.82rem;margin:38px 0 0;padding-top:20px}
    @media (max-width:900px){.header-inner,.section-head,.cta-inner{align-items:flex-start;flex-direction:column}.nav{justify-content:flex-start}.hero-grid,.candidate-grid,.jobs-grid,.value-grid,.flow-grid,.footer-grid{grid-template-columns:1fr}.flow-card{min-height:auto}}@media (max-width:640px){.wrap{width:min(100% - 28px,1120px)}.brand{min-width:0}.brand img{width:92px}.brand-text span{display:none}.nav a{font-size:.84rem;padding:10px 11px}.page-title-band{padding:38px 0 28px}section{padding:58px 0}.message-card,.value-card,.job-card,.note-card{padding:22px}.spec-list div{grid-template-columns:1fr;gap:4px}}

/* Source: psys/psys-software01.html */
:root {
      color-scheme: light;
      --ink: #1f3542;
      --muted: #5f6f78;
      --line: #d9e0df;
      --paper: #ffffff;
      --surface: #ffffff;
      --accent: #2e5d7c;
      --accent-dark: #244b66;
      --accent-soft: #e8f1f5;
      --accent-light: #a3c1d4;
      --shadow: 0 24px 60px rgba(46, 93, 124, 0.14);
      font-family: "Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, Arial, sans-serif;
      background: var(--paper);
      color: var(--ink);
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body { margin: 0; line-height: 1.75; background: var(--paper); }
    a { color: inherit; text-decoration: none; }
    img { display: block; max-width: 100%; }
    .wrap { width: min(1120px, calc(100% - 40px)); margin: 0 auto; }

    .site-header {
      position: sticky;
      top: 0;
      z-index: 20;
      background: rgba(255, 255, 255, 0.92);
      border-bottom: 1px solid rgba(163, 193, 212, 0.42);
      backdrop-filter: blur(14px);
    }

    .header-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 76px; }
    .brand { display: inline-flex; align-items: center; gap: 14px; min-width: 230px; }
    .brand img { width: 104px; height: auto; }
    .brand-text { display: grid; gap: 2px; }
    .brand-text strong { font-size: 0.98rem; letter-spacing: 0.02em; }
    .brand-text span { color: var(--muted); font-size: 0.78rem; line-height: 1.35; }

    .nav { display: flex; align-items: center; justify-content: flex-end; gap: 4px; flex-wrap: wrap; }
    .nav a { border-radius: 999px; color: #2d4757; font-size: 0.92rem; font-weight: 700; line-height: 1; padding: 12px 14px; transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease; }
    .nav a:hover, .nav a[aria-current="page"] { background: var(--accent-soft); color: var(--accent-dark); transform: translateY(-1px); }
    .nav .contact-link { background: var(--ink); color: #fff; margin-left: 6px; }
    .nav .contact-link:hover { background: var(--accent); color: #fff; }

    .page-title-band { background: linear-gradient(180deg, #ffffff 0%, #e8f1f5 100%); border-bottom: 1px solid var(--line); padding: 54px 0 44px; }
    .breadcrumb { color: var(--muted); display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0 0 26px; padding: 0; font-size: 0.9rem; }
    .breadcrumb li:not(:last-child)::after { color: var(--accent-light); content: "/"; margin-left: 8px; }
    .breadcrumb a { color: var(--accent-dark); font-weight: 700; }
    .eyebrow { color: var(--accent); font-size: 0.86rem; font-weight: 800; letter-spacing: 0.12em; margin: 0 0 14px; text-transform: uppercase; }
    .page-title-band h1 { font-size: clamp(2.2rem, 5vw, 4.6rem); line-height: 1.08; margin: 0; max-width: 900px; }
    .page-title-band p { color: var(--muted); font-size: clamp(1rem, 2vw, 1.16rem); margin: 22px 0 0; max-width: 760px; }

    section { padding: 82px 0; }
    .section-head { align-items: end; display: flex; justify-content: space-between; gap: 24px; margin-bottom: 34px; }
    .section-head h2 { font-size: clamp(2rem, 4vw, 3.2rem); line-height: 1.12; margin: 0; max-width: 760px; }
    .section-head p { color: var(--muted); margin: 0; max-width: 460px; }

    .intro-layout { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 28px; align-items: center; }
    .lead-card, .process-card, .solution-card, .industry-card, .case-card, .contact-card { background: var(--surface); border: 1px solid var(--line); border-radius: 8px; box-shadow: var(--shadow); }
    .lead-card { padding: 34px; }
    .lead-card p { color: var(--muted); margin: 0 0 18px; }
    .lead-card p:last-child { margin-bottom: 0; }
    .visual-panel { background: linear-gradient(135deg, #ffffff, var(--accent-soft)); border: 1px solid var(--line); border-radius: 8px; display: grid; min-height: 360px; place-items: center; padding: 34px; }
    .visual-panel img { max-height: 310px; object-fit: contain; width: min(100%, 420px); }

    .process-section { background: var(--accent-soft); border-block: 1px solid rgba(163, 193, 212, 0.55); }
    .process-grid { counter-reset: step; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
    .process-card { min-height: 230px; padding: 24px; position: relative; }
    .process-card::before { align-items: center; background: var(--accent); border-radius: 999px; color: #fff; content: counter(step, decimal-leading-zero); counter-increment: step; display: inline-flex; font-size: 0.78rem; font-weight: 900; height: 34px; justify-content: center; margin-bottom: 18px; width: 34px; }
    .process-card h3, .solution-card h3, .industry-card h3, .case-card h3, .contact-card h3 { font-size: 1.2rem; line-height: 1.35; margin: 0 0 12px; }
    .process-card p, .solution-card p, .industry-card p, .case-card p, .contact-card p { color: var(--muted); margin: 0; }

    .solution-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
    .solution-card { overflow: hidden; }
    .solution-card img { background: var(--accent-soft); height: 140px; object-fit: contain; padding: 26px; width: 100%; }
    .solution-card-body { padding: 24px; }
    .text-link { color: var(--accent-dark); display: inline-flex; font-weight: 900; margin-top: 20px; }

    .industry-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
    .industry-card { padding: 24px; }
    .industry-card ul { display: grid; gap: 8px; list-style: none; margin: 14px 0 0; padding: 0; }
    .industry-card li { color: var(--muted); padding-left: 18px; position: relative; }
    .industry-card li::before { background: var(--accent-light); border-radius: 999px; content: ""; height: 7px; left: 0; position: absolute; top: 0.75em; width: 7px; }

    .case-section { background: #1f3542; color: #fff; }
    .case-section .section-head p, .case-section .eyebrow { color: rgba(255, 255, 255, 0.72); }
    .case-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
    .case-card { background: rgba(255, 255, 255, 0.06); border-color: rgba(255, 255, 255, 0.14); box-shadow: none; padding: 26px; }
    .case-card h3 { color: #fff; }
    .case-card p { color: rgba(255, 255, 255, 0.74); }
    .case-card .text-link { color: #d9edf7; }

    .contact-section { background: var(--accent-soft); border-top: 1px solid rgba(163, 193, 212, 0.55); }
    .contact-grid { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 18px; align-items: stretch; }
    .contact-card { padding: 30px; }
    .button { align-items: center; background: var(--ink); border-radius: 999px; color: #fff; display: inline-flex; font-weight: 800; justify-content: center; min-height: 50px; padding: 14px 22px; transition: box-shadow 0.2s ease, transform 0.2s ease, background 0.2s ease; }
    .button:hover { background: var(--accent-dark); box-shadow: 0 20px 42px rgba(46, 93, 124, 0.18); transform: translateY(-2px); }

    .site-footer { background: #1f3542; color: rgba(255, 255, 255, 0.76); padding: 50px 0 28px; }
    .footer-grid { display: grid; grid-template-columns: 1.2fr repeat(3, minmax(0, 1fr)); gap: 28px; margin-bottom: 34px; }
    .footer-grid h2, .footer-grid h3 { color: #fff; font-size: 1rem; margin: 0 0 14px; }
    .footer-grid p { margin: 0; }
    .footer-links { display: grid; gap: 10px; list-style: none; margin: 0; padding: 0; }
    .footer-links a:hover { color: #d9edf7; }
    .copyright { border-top: 1px solid rgba(255, 255, 255, 0.12); color: rgba(255, 255, 255, 0.5); font-size: 0.86rem; margin: 0; padding-top: 22px; }

    @media (max-width: 980px) {
      .header-inner { align-items: flex-start; flex-direction: column; padding: 16px 0; }
      .nav { justify-content: flex-start; }
      .intro-layout, .process-grid, .solution-grid, .industry-grid, .case-grid, .contact-grid, .footer-grid { grid-template-columns: 1fr; }
      .section-head { align-items: flex-start; flex-direction: column; }
    }

    @media (max-width: 640px) {
      .wrap { width: min(100% - 28px, 1120px); }
      .brand img { width: 86px; }
      .nav { gap: 2px; }
      .nav a { font-size: 0.84rem; padding: 10px 11px; }
      .nav .contact-link { margin-left: 0; }
      .page-title-band { padding: 42px 0 32px; }
      section { padding: 62px 0; }
      .lead-card, .process-card, .solution-card-body, .industry-card, .case-card, .contact-card { padding: 22px; }
    }

/* Source: psys/psys-software02.html */
:root { color-scheme: light; --ink:#1f3542; --muted:#5f6f78; --line:#d9e0df; --paper:#fff; --surface:#fff; --accent:#2e5d7c; --accent-dark:#244b66; --accent-soft:#e8f1f5; --accent-light:#a3c1d4; --shadow:0 24px 60px rgba(46,93,124,.14); font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,Arial,sans-serif; color:var(--ink); background:var(--paper); }
    *{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;line-height:1.75;background:var(--paper)} a{color:inherit;text-decoration:none} img{display:block;max-width:100%}.wrap{width:min(1120px,calc(100% - 40px));margin:0 auto}
    .site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.92);border-bottom:1px solid rgba(163,193,212,.42);backdrop-filter:blur(14px)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px}.brand{display:inline-flex;align-items:center;gap:14px;min-width:230px}.brand img{width:104px}.brand-text{display:grid;gap:2px}.brand-text strong{font-size:.98rem;letter-spacing:.02em}.brand-text span{color:var(--muted);font-size:.78rem;line-height:1.35}.nav{display:flex;align-items:center;justify-content:flex-end;gap:4px;flex-wrap:wrap}.nav a{border-radius:999px;color:#2d4757;font-size:.92rem;font-weight:700;line-height:1;padding:12px 14px;transition:background .2s,color .2s,transform .2s}.nav a:hover,.nav a[aria-current="page"]{background:var(--accent-soft);color:var(--accent-dark);transform:translateY(-1px)}.nav .contact-link{background:var(--ink);color:#fff;margin-left:6px}.nav .contact-link:hover{background:var(--accent);color:#fff}
    .page-title-band{background:linear-gradient(180deg,#fff 0%,#e8f1f5 100%);border-bottom:1px solid var(--line);padding:54px 0 44px}.breadcrumb{color:var(--muted);display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 26px;padding:0;font-size:.9rem}.breadcrumb li:not(:last-child)::after{color:var(--accent-light);content:"/";margin-left:8px}.breadcrumb a{color:var(--accent-dark);font-weight:700}.eyebrow{color:var(--accent);font-size:.86rem;font-weight:800;letter-spacing:.12em;margin:0 0 14px;text-transform:uppercase}.page-title-band h1{font-size:clamp(2.2rem,5vw,4.5rem);line-height:1.08;margin:0;max-width:900px}.page-title-band p{color:var(--muted);font-size:clamp(1rem,2vw,1.16rem);margin:22px 0 0;max-width:760px}
    section{padding:82px 0}.section-head{align-items:end;display:flex;justify-content:space-between;gap:24px;margin-bottom:34px}.section-head h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1.12;margin:0;max-width:760px}.section-head p{color:var(--muted);margin:0;max-width:480px}.intro-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:28px;align-items:center}.lead-card,.product-card,.feature-card,.media-card,.contact-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.lead-card{padding:34px}.lead-card p{color:var(--muted);margin:0 0 18px}.lead-card p:last-child{margin-bottom:0}.visual-panel{background:linear-gradient(135deg,#fff,var(--accent-soft));border:1px solid var(--line);border-radius:8px;min-height:360px;padding:34px;display:grid;place-items:center}.visual-panel img{max-height:310px;object-fit:contain;width:min(100%,430px)}
    .band{background:var(--accent-soft);border-block:1px solid rgba(163,193,212,.55)}.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.product-card{overflow:hidden}.product-visual{background:linear-gradient(135deg,#fff,#edf5f8);display:grid;min-height:240px;place-items:center;padding:30px}.product-visual img{max-height:170px;object-fit:contain}.product-body{padding:28px}.product-body h3,.feature-card h3,.media-card h3,.contact-card h3{font-size:1.28rem;line-height:1.35;margin:0 0 12px}.product-body p,.feature-card p,.media-card p,.contact-card p{color:var(--muted);margin:0}.tag-list{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 18px;padding:0}.tag-list li{background:var(--accent-soft);border:1px solid var(--accent-light);border-radius:999px;color:var(--accent-dark);font-size:.82rem;font-weight:800;padding:5px 10px}.text-link{color:var(--accent-dark);display:inline-flex;font-weight:900;margin-top:20px}.button{align-items:center;background:var(--ink);border-radius:999px;color:#fff;display:inline-flex;font-weight:900;justify-content:center;min-height:50px;padding:14px 22px;transition:background .2s,box-shadow .2s,transform .2s}.button:hover{background:var(--accent-dark);box-shadow:0 20px 42px rgba(46,93,124,.18);transform:translateY(-2px)}
    .feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.feature-card{padding:26px}.feature-card ul{display:grid;gap:8px;list-style:none;margin:14px 0 0;padding:0}.feature-card li{color:var(--muted);padding-left:18px;position:relative}.feature-card li::before{background:var(--accent-light);border-radius:999px;content:"";height:7px;left:0;position:absolute;top:.75em;width:7px}.media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.media-card{overflow:hidden}.media-card img{background:#f7fafb;height:220px;object-fit:contain;padding:18px;width:100%}.media-card-body{padding:22px}.notice{background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--muted);padding:20px}
    .contact-section{background:#1f3542;color:#fff}.contact-section .section-head p,.contact-section .eyebrow{color:rgba(255,255,255,.72)}.contact-card{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);box-shadow:none;padding:30px}.contact-card p{color:rgba(255,255,255,.74)}.contact-card .button{background:#fff;color:var(--ink)}.contact-card .button:hover{background:#d9edf7}
    .site-footer{background:#1f3542;color:rgba(255,255,255,.76);padding:50px 0 28px}.footer-grid{display:grid;grid-template-columns:1.2fr repeat(3,minmax(0,1fr));gap:28px;margin-bottom:34px}.footer-grid h2,.footer-grid h3{color:#fff;font-size:1rem;margin:0 0 14px}.footer-grid p{margin:0}.footer-links{display:grid;gap:10px;list-style:none;margin:0;padding:0}.footer-links a:hover{color:#d9edf7}.copyright{border-top:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.5);font-size:.86rem;margin:0;padding-top:22px}
    @media(max-width:980px){.header-inner{align-items:flex-start;flex-direction:column;padding:16px 0}.nav{justify-content:flex-start}.intro-layout,.product-grid,.feature-grid,.media-grid,.footer-grid{grid-template-columns:1fr}.section-head{align-items:flex-start;flex-direction:column}}@media(max-width:640px){.wrap{width:min(100% - 28px,1120px)}.brand img{width:86px}.nav{gap:2px}.nav a{font-size:.84rem;padding:10px 11px}.nav .contact-link{margin-left:0}.page-title-band{padding:42px 0 32px}section{padding:62px 0}.lead-card,.product-body,.feature-card,.media-card-body,.contact-card{padding:22px}.product-visual{min-height:190px}.media-card img{height:auto;max-height:260px}}

/* Source: psys/psys-support.html */
:root { color-scheme: light; --ink:#1f3542; --muted:#5f6f78; --line:#d9e0df; --paper:#fff; --surface:#fff; --accent:#2e5d7c; --accent-dark:#244b66; --accent-soft:#e8f1f5; --accent-light:#a3c1d4; --shadow:0 24px 60px rgba(46,93,124,.14); font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,Arial,sans-serif; color:var(--ink); background:var(--paper); }
    *{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;line-height:1.75;background:var(--paper)} a{color:inherit;text-decoration:none} img{display:block;max-width:100%}.wrap{width:min(1120px,calc(100% - 40px));margin:0 auto}
    .site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.92);border-bottom:1px solid rgba(163,193,212,.42);backdrop-filter:blur(14px)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px}.brand{display:inline-flex;align-items:center;gap:14px;min-width:230px}.brand img{width:104px}.brand-text{display:grid;gap:2px}.brand-text strong{font-size:.98rem;letter-spacing:.02em}.brand-text span{color:var(--muted);font-size:.78rem;line-height:1.35}.nav{display:flex;align-items:center;justify-content:flex-end;gap:4px;flex-wrap:wrap}.nav a{border-radius:999px;color:#2d4757;font-size:.92rem;font-weight:700;line-height:1;padding:12px 14px;transition:background .2s,color .2s,transform .2s}.nav a:hover,.nav a[aria-current="page"]{background:var(--accent-soft);color:var(--accent-dark);transform:translateY(-1px)}.nav .contact-link{background:var(--ink);color:#fff;margin-left:6px}.nav .contact-link:hover{background:var(--accent);color:#fff}
    .page-title-band{background:linear-gradient(180deg,#fff 0%,#e8f1f5 100%);border-bottom:1px solid var(--line);padding:54px 0 44px}.breadcrumb{color:var(--muted);display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 26px;padding:0;font-size:.9rem}.breadcrumb li:not(:last-child)::after{color:var(--accent-light);content:"/";margin-left:8px}.breadcrumb a{color:var(--accent-dark);font-weight:700}.eyebrow{color:var(--accent);font-size:.86rem;font-weight:800;letter-spacing:.12em;margin:0 0 14px;text-transform:uppercase}.page-title-band h1{font-size:clamp(2.2rem,5vw,4.5rem);line-height:1.08;margin:0;max-width:900px}.page-title-band p{color:var(--muted);font-size:clamp(1rem,2vw,1.16rem);margin:22px 0 0;max-width:760px}
    section{padding:82px 0}.section-head{align-items:end;display:flex;justify-content:space-between;gap:24px;margin-bottom:34px}.section-head h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1.12;margin:0;max-width:760px}.section-head p{color:var(--muted);margin:0;max-width:480px}.support-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.support-card,.download-card,.notice-card,.contact-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.support-card{padding:28px}.support-card img{height:54px;margin-bottom:18px;object-fit:contain;width:62px}.support-card h3,.download-card h3,.notice-card h3,.contact-card h3{font-size:1.2rem;line-height:1.35;margin:0 0 12px}.support-card p,.download-card p,.notice-card p,.contact-card p{color:var(--muted);margin:0}.text-link{color:var(--accent-dark);display:inline-flex;font-weight:900;margin-top:18px}.button{align-items:center;background:var(--ink);border-radius:999px;color:#fff;display:inline-flex;font-weight:900;justify-content:center;min-height:50px;padding:14px 22px;transition:background .2s,box-shadow .2s,transform .2s}.button:hover{background:var(--accent-dark);box-shadow:0 20px 42px rgba(46,93,124,.18);transform:translateY(-2px)}
    .band{background:var(--accent-soft);border-block:1px solid rgba(163,193,212,.55)}.download-section{display:grid;gap:22px}.download-card{overflow:hidden}.download-head{align-items:center;background:#fff;display:flex;gap:18px;padding:24px 26px;border-bottom:1px solid var(--line)}.download-head img{height:46px;object-fit:contain;width:52px}.download-head h3{margin:0}.download-body{padding:0}.download-list{list-style:none;margin:0;padding:0}.download-list li{align-items:center;border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:18px 24px}.download-list li:last-child{border-bottom:0}.download-title{font-weight:900}.download-meta{color:var(--muted);font-size:.9rem;margin-top:3px}.download-actions{display:flex;gap:8px;justify-content:flex-end;white-space:nowrap}.chip{align-items:center;background:var(--accent-soft);border:1px solid var(--accent-light);border-radius:999px;color:var(--accent-dark);display:inline-flex;font-size:.82rem;font-weight:900;gap:6px;padding:7px 11px}.chip img{height:16px;width:16px}.note{background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--muted);padding:20px}.note strong{color:var(--ink)}.notice-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.notice-card{padding:28px}.notice-card ul{display:grid;gap:8px;list-style:none;margin:12px 0 0;padding:0}.notice-card li{color:var(--muted);padding-left:18px;position:relative}.notice-card li::before{background:var(--accent-light);border-radius:999px;content:"";height:7px;left:0;position:absolute;top:.75em;width:7px}
    .contact-section{background:#1f3542;color:#fff}.contact-section .section-head p,.contact-section .eyebrow{color:rgba(255,255,255,.72)}.contact-card{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);box-shadow:none;padding:30px}.contact-card p{color:rgba(255,255,255,.74)}.contact-card .button{background:#fff;color:var(--ink)}.contact-card .button:hover{background:#d9edf7}
    .site-footer{background:#1f3542;color:rgba(255,255,255,.76);padding:50px 0 28px}.footer-grid{display:grid;grid-template-columns:1.2fr repeat(3,minmax(0,1fr));gap:28px;margin-bottom:34px}.footer-grid h2,.footer-grid h3{color:#fff;font-size:1rem;margin:0 0 14px}.footer-grid p{margin:0}.footer-links{display:grid;gap:10px;list-style:none;margin:0;padding:0}.footer-links a:hover{color:#d9edf7}.copyright{border-top:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.5);font-size:.86rem;margin:0;padding-top:22px}
    @media(max-width:980px){.header-inner{align-items:flex-start;flex-direction:column;padding:16px 0}.nav{justify-content:flex-start}.support-grid,.notice-grid,.footer-grid{grid-template-columns:1fr}.section-head{align-items:flex-start;flex-direction:column}.download-list li{grid-template-columns:1fr}.download-actions{justify-content:flex-start}}@media(max-width:640px){.wrap{width:min(100% - 28px,1120px)}.brand img{width:86px}.nav{gap:2px}.nav a{font-size:.84rem;padding:10px 11px}.nav .contact-link{margin-left:0}.page-title-band{padding:42px 0 32px}section{padding:62px 0}.support-card,.download-head,.download-list li,.notice-card,.contact-card{padding:22px}.download-head{align-items:flex-start;flex-direction:column}.download-actions{flex-wrap:wrap}}

/* Source: psys/psys-support_uu70_faq.html */
:root{color-scheme:light;--ink:#1f3542;--muted:#5f6f78;--line:#d9e0df;--paper:#fff;--surface:#fff;--accent:#2e5d7c;--accent-dark:#244b66;--accent-soft:#e8f1f5;--accent-light:#a3c1d4;--shadow:0 24px 60px rgba(46,93,124,.14);font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,Arial,sans-serif;color:var(--ink);background:var(--paper)}
    *{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;line-height:1.75;background:var(--paper)}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.wrap{width:min(1120px,calc(100% - 40px));margin:0 auto}
    .site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.92);border-bottom:1px solid rgba(163,193,212,.42);backdrop-filter:blur(14px)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px}.brand{display:inline-flex;align-items:center;gap:14px;min-width:230px}.brand img{width:104px}.brand-text{display:grid;gap:2px}.brand-text strong{font-size:.98rem;letter-spacing:.02em}.brand-text span{color:var(--muted);font-size:.78rem;line-height:1.35}.nav{display:flex;align-items:center;justify-content:flex-end;gap:4px;flex-wrap:wrap}.nav a{border-radius:999px;color:#2d4757;font-size:.92rem;font-weight:700;line-height:1;padding:12px 14px;transition:background .2s,color .2s,transform .2s}.nav a:hover,.nav a[aria-current="page"]{background:var(--accent-soft);color:var(--accent-dark);transform:translateY(-1px)}.nav .contact-link{background:var(--ink);color:#fff;margin-left:6px}.nav .contact-link:hover{background:var(--accent);color:#fff}
    .page-title-band{background:linear-gradient(180deg,#fff 0%,#e8f1f5 100%);border-bottom:1px solid var(--line);padding:54px 0 44px}.breadcrumb{color:var(--muted);display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 26px;padding:0;font-size:.9rem}.breadcrumb li:not(:last-child)::after{color:var(--accent-light);content:"/";margin-left:8px}.breadcrumb a{color:var(--accent-dark);font-weight:700}.eyebrow{color:var(--accent);font-size:.86rem;font-weight:800;letter-spacing:.12em;margin:0 0 14px;text-transform:uppercase}.page-title-band h1{font-size:clamp(2.2rem,5vw,4.5rem);line-height:1.08;margin:0;max-width:920px}.page-title-band p{color:var(--muted);font-size:clamp(1rem,2vw,1.16rem);margin:22px 0 0;max-width:780px}
    section{padding:82px 0}.section-head{align-items:end;display:flex;justify-content:space-between;gap:24px;margin-bottom:34px}.section-head h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1.12;margin:0;max-width:760px}.section-head p{color:var(--muted);margin:0;max-width:500px}.band{background:var(--accent-soft);border-block:1px solid rgba(163,193,212,.55)}
    .quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.quick-card,.faq-card,.notice-card,.contact-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.quick-card{padding:26px}.quick-card img{height:48px;margin-bottom:16px;object-fit:contain;width:56px}.quick-card h3,.notice-card h3,.contact-card h3{font-size:1.18rem;line-height:1.35;margin:0 0 10px}.quick-card p,.notice-card p,.contact-card p{color:var(--muted);margin:0}.text-link{color:var(--accent-dark);display:inline-flex;font-weight:900;margin-top:18px}.button{align-items:center;background:var(--ink);border-radius:999px;color:#fff;display:inline-flex;font-weight:900;justify-content:center;min-height:50px;padding:14px 22px;transition:background .2s,box-shadow .2s,transform .2s}.button:hover{background:var(--accent-dark);box-shadow:0 20px 42px rgba(46,93,124,.18);transform:translateY(-2px)}
    .faq-list{display:grid;gap:16px}.faq-card{padding:0;overflow:hidden}.faq-card summary{align-items:flex-start;cursor:pointer;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;list-style:none;padding:22px 24px}.faq-card summary::-webkit-details-marker{display:none}.faq-no{align-items:center;background:var(--accent-soft);border:1px solid var(--accent-light);border-radius:999px;color:var(--accent-dark);display:inline-flex;font-size:.82rem;font-weight:900;height:34px;justify-content:center;min-width:44px;padding:0 10px}.faq-question{font-size:1.08rem;font-weight:900;line-height:1.55}.faq-toggle{color:var(--accent);font-weight:900}.faq-card[open] .faq-toggle{transform:rotate(45deg)}.faq-answer{border-top:1px solid var(--line);color:var(--muted);padding:20px 24px 24px 82px}.faq-answer p{margin:0 0 10px}.faq-answer p:last-child{margin-bottom:0}.faq-answer a{color:var(--accent-dark);font-weight:900;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.faq-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.tag{background:#fff;border:1px solid var(--line);border-radius:999px;color:var(--accent-dark);font-size:.86rem;font-weight:800;padding:7px 12px}
    .notice-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.notice-card{padding:28px}.notice-card ul{display:grid;gap:8px;list-style:none;margin:12px 0 0;padding:0}.notice-card li{color:var(--muted);padding-left:18px;position:relative}.notice-card li::before{background:var(--accent-light);border-radius:999px;content:"";height:7px;left:0;position:absolute;top:.75em;width:7px}.contact-section{background:#1f3542;color:#fff}.contact-section .section-head p,.contact-section .eyebrow{color:rgba(255,255,255,.72)}.contact-card{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);box-shadow:none;padding:30px}.contact-card p{color:rgba(255,255,255,.74)}.contact-card .button{background:#fff;color:var(--ink)}.contact-card .button:hover{background:#d9edf7}
    .site-footer{background:#1f3542;color:rgba(255,255,255,.76);padding:50px 0 28px}.footer-grid{display:grid;grid-template-columns:1.2fr repeat(3,minmax(0,1fr));gap:28px;margin-bottom:34px}.footer-grid h2,.footer-grid h3{color:#fff;font-size:1rem;margin:0 0 14px}.footer-grid p{margin:0}.footer-links{display:grid;gap:10px;list-style:none;margin:0;padding:0}.footer-links a:hover{color:#d9edf7}.copyright{border-top:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.5);font-size:.86rem;margin:0;padding-top:22px}
    @media(max-width:980px){.header-inner{align-items:flex-start;flex-direction:column;padding:16px 0}.nav{justify-content:flex-start}.quick-grid,.notice-grid,.footer-grid{grid-template-columns:1fr}.section-head{align-items:flex-start;flex-direction:column}.faq-answer{padding-left:24px}}@media(max-width:640px){.wrap{width:min(100% - 28px,1120px)}.brand img{width:86px}.nav{gap:2px}.nav a{font-size:.84rem;padding:10px 11px}.nav .contact-link{margin-left:0}.page-title-band{padding:42px 0 32px}section{padding:62px 0}.quick-card,.notice-card,.contact-card{padding:22px}.faq-card summary{grid-template-columns:1fr auto;gap:10px;padding:20px}.faq-no{grid-column:1 / -1;justify-content:flex-start;width:max-content}.faq-answer{padding:18px 20px 22px}}

/* Source: psys/psysob.html */
:root{--ink:#1f3542;--muted:#5f6f78;--line:#d9e0df;--accent:#2e5d7c;--accent-dark:#244b66;--accent-soft:#e8f1f5;--accent-light:#a3c1d4;--shadow:0 24px 60px rgba(46,93,124,.14);font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,Arial,sans-serif;color:var(--ink);background:#fff}*{box-sizing:border-box}body{margin:0;line-height:1.75}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.wrap{width:min(1120px,calc(100% - 40px));margin:0 auto}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.92);border-bottom:1px solid rgba(163,193,212,.42);backdrop-filter:blur(14px)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px}.brand{display:inline-flex;align-items:center;gap:14px;min-width:230px}.brand img{width:104px}.brand-text{display:grid;gap:2px}.brand-text strong{font-size:.98rem}.brand-text span{color:var(--muted);font-size:.78rem;line-height:1.35}.nav{display:flex;align-items:center;justify-content:flex-end;gap:4px;flex-wrap:wrap}.nav a{border-radius:999px;color:#2d4757;font-size:.92rem;font-weight:700;line-height:1;padding:12px 14px}.nav a:hover,.nav a[aria-current="page"]{background:var(--accent-soft);color:var(--accent-dark)}.nav .contact-link{background:var(--ink);color:#fff;margin-left:6px}.page-title-band{background:linear-gradient(180deg,#fff 0%,#e8f1f5 100%);border-bottom:1px solid var(--line);padding:54px 0 44px}.breadcrumb{color:var(--muted);display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 26px;padding:0;font-size:.9rem}.breadcrumb li:not(:last-child)::after{color:var(--accent-light);content:"/";margin-left:8px}.breadcrumb a{color:var(--accent-dark);font-weight:700}.eyebrow{color:var(--accent);font-size:.86rem;font-weight:800;letter-spacing:.12em;margin:0 0 14px;text-transform:uppercase}.page-title-band h1{font-size:clamp(2.2rem,5vw,4.4rem);line-height:1.08;margin:0}.page-title-band p{color:var(--muted);font-size:clamp(1rem,2vw,1.16rem);margin:22px 0 0;max-width:760px}section{padding:82px 0}.layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}.form-card,.side-card{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.form-card{padding:34px}.side-card{padding:28px;display:grid;gap:22px}.section-head{margin-bottom:28px}.section-head h2{font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.18;margin:0}.section-head p,.side-card p{color:var(--muted);margin:12px 0 0}.form-grid{display:grid;gap:20px}.field{display:grid;gap:8px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.label-line{display:flex;align-items:center;justify-content:space-between;gap:12px}.label-line label{font-weight:800}.required{background:var(--accent-soft);border:1px solid var(--accent-light);border-radius:999px;color:var(--accent-dark);font-size:.76rem;font-weight:900;line-height:1;padding:5px 8px}.hint{color:var(--muted);font-size:.86rem;margin:0}input,textarea,select{appearance:none;background:#fff;border:1px solid #cbd7dc;border-radius:8px;color:var(--ink);font:inherit;min-height:48px;padding:11px 13px;width:100%}textarea{min-height:160px;resize:vertical}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(163,193,212,.35);outline:0}.choice-row{display:flex;flex-wrap:wrap;gap:14px}.choice-row label{align-items:center;display:inline-flex;gap:8px;font-weight:700}.choice-row input{height:18px;min-height:18px;width:18px}.zip-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.mini-button{background:var(--accent-soft);border:1px solid var(--accent-light);border-radius:8px;color:var(--accent-dark);cursor:pointer;font-weight:900;min-height:48px;padding:10px 14px}.privacy-box{background:var(--accent-soft);border:1px solid rgba(163,193,212,.7);border-radius:8px;padding:18px}.privacy-box label{display:flex;gap:12px;align-items:flex-start;font-weight:700}.privacy-box input{flex:0 0 auto;height:20px;min-height:20px;margin-top:.25em;width:20px}.actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:8px}.button{align-items:center;background:var(--ink);border:0;border-radius:999px;color:#fff;cursor:pointer;display:inline-flex;font-weight:900;justify-content:center;min-height:52px;padding:14px 24px}.text-link{color:var(--accent-dark);font-weight:900}.tel{font-size:1.4rem;font-weight:900;letter-spacing:.02em;margin:4px 0 0}.note-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.note-list li{color:var(--muted);padding-left:18px;position:relative}.note-list li::before{background:var(--accent-light);border-radius:999px;content:"";height:7px;left:0;position:absolute;top:.8em;width:7px}.site-footer{background:#1f3542;color:rgba(255,255,255,.76);padding:50px 0 28px}.footer-grid{display:grid;grid-template-columns:1.2fr repeat(3,minmax(0,1fr));gap:28px;margin-bottom:34px}.footer-grid h2,.footer-grid h3{color:#fff;font-size:1rem;margin:0 0 14px}.footer-grid p{margin:0}.footer-links{display:grid;gap:10px;list-style:none;margin:0;padding:0}.copyright{border-top:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.5);font-size:.86rem;margin:0;padding-top:22px}@media(max-width:980px){.header-inner{align-items:flex-start;flex-direction:column;padding:16px 0}.nav{justify-content:flex-start}.layout,.footer-grid,.field-row{grid-template-columns:1fr}}@media(max-width:640px){.wrap{width:min(100% - 28px,1120px)}.brand img{width:86px}.brand-text span{display:none}.nav a{font-size:.84rem;padding:10px 11px}.nav .contact-link{margin-left:0}.page-title-band{padding:42px 0 32px}section{padding:62px 0}.form-card,.side-card{padding:22px}.zip-actions{grid-template-columns:1fr}.actions{align-items:stretch;flex-direction:column}.button{width:100%}}

/* Source: psys/psysob_check.php */
:root{--ink:#1f3542;--muted:#5f6f78;--line:#d9e0df;--accent:#2e5d7c;--accent-dark:#244b66;--accent-soft:#e8f1f5;--accent-light:#a3c1d4;--danger:#b3261e;--shadow:0 24px 60px rgba(46,93,124,.14);font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,Arial,sans-serif;color:var(--ink);background:#fff}*{box-sizing:border-box}body{margin:0;line-height:1.75}a{color:inherit;text-decoration:none}.wrap{width:min(1120px,calc(100% - 40px));margin:0 auto}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.92);border-bottom:1px solid rgba(163,193,212,.42);backdrop-filter:blur(14px)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px}.brand{display:inline-flex;align-items:center;gap:14px;min-width:230px}.brand img{width:104px}.brand-text{display:grid;gap:2px}.brand-text strong{font-size:.98rem}.brand-text span{color:var(--muted);font-size:.78rem}.nav{display:flex;align-items:center;justify-content:flex-end;gap:4px;flex-wrap:wrap}.nav a{border-radius:999px;color:#2d4757;font-size:.92rem;font-weight:700;line-height:1;padding:12px 14px}.nav a:hover,.nav a[aria-current="page"]{background:var(--accent-soft);color:var(--accent-dark)}.nav .contact-link{background:var(--ink);color:#fff;margin-left:6px}.page-title-band{background:linear-gradient(180deg,#fff 0%,#e8f1f5 100%);border-bottom:1px solid var(--line);padding:54px 0 44px}.breadcrumb{color:var(--muted);display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 26px;padding:0;font-size:.9rem}.breadcrumb li:not(:last-child)::after{color:var(--accent-light);content:"/";margin-left:8px}.breadcrumb a{color:var(--accent-dark);font-weight:700}.eyebrow{color:var(--accent);font-size:.86rem;font-weight:800;letter-spacing:.12em;margin:0 0 14px;text-transform:uppercase}.page-title-band h1{font-size:clamp(2.2rem,5vw,4.4rem);line-height:1.08;margin:0}.page-title-band p{color:var(--muted);font-size:clamp(1rem,2vw,1.16rem);margin:22px 0 0;max-width:760px}section{padding:82px 0}.card{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:34px}.error-summary{background:#fff3f2;border:1px solid rgba(179,38,30,.32);border-radius:8px;color:var(--danger);font-weight:800;margin:0 0 24px;padding:16px 18px}.error-summary ul{margin:8px 0 0;padding-left:22px}.confirm-list{border:1px solid var(--line);border-radius:8px;overflow:hidden}.confirm-row{display:grid;grid-template-columns:240px minmax(0,1fr);border-bottom:1px solid var(--line)}.confirm-row:last-child{border-bottom:0}.confirm-row dt,.confirm-row dd{margin:0;padding:16px 18px}.confirm-row dt{background:var(--accent-soft);font-weight:900}.confirm-row dd{white-space:pre-wrap;word-break:break-word}.actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:28px}.button{align-items:center;background:var(--ink);border:0;border-radius:999px;color:#fff;cursor:pointer;display:inline-flex;font-weight:900;justify-content:center;min-height:52px;padding:14px 24px}.button.secondary{background:#fff;border:1px solid var(--line);color:var(--accent-dark)}.site-footer{background:#1f3542;color:rgba(255,255,255,.76);padding:50px 0 28px}.footer-grid{display:grid;grid-template-columns:1.2fr repeat(3,minmax(0,1fr));gap:28px;margin-bottom:34px}.footer-grid h2,.footer-grid h3{color:#fff;font-size:1rem;margin:0 0 14px}.footer-grid p{margin:0}.footer-links{display:grid;gap:10px;list-style:none;margin:0;padding:0}.copyright{border-top:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.5);font-size:.86rem;margin:0;padding-top:22px}@media(max-width:980px){.header-inner{align-items:flex-start;flex-direction:column;padding:16px 0}.nav{justify-content:flex-start}.footer-grid,.confirm-row{grid-template-columns:1fr}}@media(max-width:640px){.wrap{width:min(100% - 28px,1120px)}.brand img{width:86px}.brand-text span{display:none}.nav a{font-size:.84rem;padding:10px 11px}.nav .contact-link{margin-left:0}.page-title-band{padding:42px 0 32px}section{padding:62px 0}.card{padding:22px}.actions{align-items:stretch;flex-direction:column}.button{width:100%}}



/* Home page hero restore */
.home-page .hero {
  min-height: 690px;
  display: grid;
  align-items: end;
  color: #fff;
  background:
    linear-gradient(90deg, rgba(31, 53, 66, 0.9) 0%, rgba(46, 93, 124, 0.68) 45%, rgba(46, 93, 124, 0.16) 100%),
    url("../psys/images/hero-image.jpg") center / cover no-repeat;
}
.home-page .hero-inner {
  display: grid;
  grid-template-columns: minmax(0, 1720px);
  gap: 28px;
  padding: 96px 0 72px;
}
.home-page .hero h1 {
  color: #fff;
  font-size: clamp(1.55rem, 4vw, 3.7rem);
  line-height: 1.04;
  margin: 0;
  max-width: 1860px;
}
.home-page .hero-copy {
  color: rgba(255, 255, 255, 0.9);
  font-size: clamp(1rem, 2vw, 1.18rem);
  margin: 0;
  max-width: 760px;
}
.home-page .hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.site-header .brand {
  gap: 0;
  min-width: 0;
}
.site-header .brand img {
  height: auto;
  max-height: 72px;
  object-fit: contain;
  width: 190px;
}
.site-header .brand .brand-text {
  display: none;
}
.home-page .service-card {
  display: flex;
  flex-direction: column;
}
.home-page .service-image {
  align-items: center;
  background: #f7fafb;
  border: 1px solid rgba(217, 224, 223, 0.82);
  border-radius: 8px;
  display: flex;
  height: 138px;
  justify-content: center;
  margin: 0 0 22px;
  padding: 16px;
}
.home-page .service-image img {
  height: 100%;
  max-width: 100%;
  object-fit: contain;
  width: 100%;
}
.home-page .service-image-pair {
  flex-direction: column;
  gap: 10px;
}
.home-page .service-image-pair img {
  flex: 1 1 auto;
  height: calc(50% - 5px);
  min-width: 0;
  width: 100%;
}
@media (max-width: 980px) {
  .home-page .hero { min-height: 610px; }
}
@media (max-width: 640px) {
  .home-page .hero { min-height: 560px; background-position: 58% center; padding: 0; }
  .home-page .hero-inner { padding: 72px 0 54px; }
  .site-header .brand img { max-height: 58px; width: 154px; }
  .home-page .service-image { height: 128px; margin-bottom: 18px; }
  .home-page .hero-actions,
  .home-page .hero-actions .button { width: 100%; }
}
 .grid-spaced { margin-top: 24px; }

/* Global readability tuning */
:root {
  font-family: Meiryo, "Hiragino Kaku Gothic ProN", "Yu Gothic", Arial, sans-serif;
  --muted: #3f4f58;
}
.feature-band .section-head p {
  color: rgba(255, 255, 255, 0.82);
}

/* Home strength layout */
.home-page .feature-layout {
  grid-template-columns: 1fr;
  gap: 30px;
}

.home-page .feature-band .section-head {
  align-items: flex-start;
  display: grid;
  gap: 16px;
  margin-bottom: 0;
}

.home-page .feature-band .section-head h2 {
  max-width: 100%;
}

.home-page .feature-band .section-head p {
  max-width: 100%;
}

.home-page .feature-list {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.home-page .feature-item {
  min-height: 250px;
  padding: 26px 24px;
}

.home-page .feature-proof {
  display: none;
}

#contact .contact-card .tel {
  color: #b84f12;
  text-shadow: none;
}

@media (max-width: 980px) {
  .home-page .feature-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .home-page .feature-list {
    grid-template-columns: 1fr;
  }

  .home-page .feature-item {
    min-height: auto;
  }
}

/* Home page color alignment with pattern 2 */
.home-page {
  --home-ink: #22272a;
  --home-muted: #5f676b;
  --home-line: #e6e6e6;
  --home-orange: #f47718;
  --home-orange-dark: #dc620a;
  --home-pale: #f7f7f5;
  --ink: var(--home-ink);
  --muted: var(--home-muted);
  --line: var(--home-line);
  --orange: var(--home-orange);
  --orange-dark: var(--home-orange-dark);
  --orange-soft: #fff8f2;
  --green: var(--home-orange);
  --teal: #2f3336;
  --shadow: 0 18px 42px rgba(34, 39, 42, 0.08);
  background: #fff;
  color: var(--home-ink);
}

.home-page .site-header {
  background: rgba(255, 255, 255, 0.96);
  border-bottom-color: #ededed;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.02);
}

.home-page .nav a {
  color: #2f3336;
}

.home-page .nav a:hover {
  background: transparent;
  color: var(--home-orange);
}

.home-page .nav .contact-link {
  background: transparent;
  color: var(--home-orange);
}

.home-page .nav .contact-link:hover {
  color: var(--home-orange-dark);
}

.home-page .hero {
  color: var(--home-ink);
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.95) 0%, rgba(255, 255, 255, 0.87) 38%, rgba(255, 255, 255, 0.28) 64%, rgba(255, 255, 255, 0.04) 100%),
    url("../psys/images/hero-image.jpg") center / cover no-repeat;
}

.home-page .hero h1 {
  color: #202427;
}

.home-page .hero-copy {
  color: #30383d;
}

.home-page .button-primary,
.home-page .feature-icon,
.home-page .service-card::before,
.home-page .footer-links a:hover {
  background: var(--home-orange);
  color: #fff;
}

.home-page .button-primary:hover,
.home-page .button-dark:hover {
  background: var(--home-orange-dark);
}

.home-page .button-secondary {
  background: #fff;
  border-color: var(--home-orange);
  color: var(--home-orange-dark);
}

.home-page .button-secondary:hover {
  background: #fff8f2;
}

.home-page .section-head p,
.home-page .service-card p,
.home-page .product-body p,
.home-page .news-card span,
.home-page .office-panel p {
  color: var(--home-muted);
}

.home-page .service-card,
.home-page .product-card,
.home-page .news-card,
.home-page .office-panel {
  border-color: var(--home-line);
  box-shadow: var(--shadow);
}

.home-page .service-image,
.home-page .product-media,
.home-page .news-card {
  background: #fff;
  border-color: var(--home-line);
}

.home-page .feature-band {
  background: linear-gradient(180deg, #fff 0%, #fbfbfa 100%);
  color: var(--home-ink);
}

.home-page .feature-band .section-head p,
.home-page .feature-item span {
  color: var(--home-muted);
}

.home-page .feature-item {
  background: #fff;
  border: 1px solid var(--home-line);
  box-shadow: none;
}

.home-page .feature-icon {
  background: #f59a3d;
  box-shadow: 0 10px 22px rgba(245, 154, 61, 0.18);
  color: #fff;
}

.home-page .feature-icon svg {
  stroke: #fff;
}

/* Home page section heading alignment */
.home-page main > section .section-head {
  align-items: flex-start;
  display: grid;
  gap: 16px;
  justify-content: start;
}

.home-page main > section .section-head h2,
.home-page main > section .section-head p {
  max-width: 100%;
}

.home-page .feature-item strong {
  color: #332c27;
}

.home-page .feature-item span:not(.feature-icon) {
  color: #64594f;
}

.home-page .product-card {
  background: #fff;
}

.home-page .text-link,
.home-page .news-card time,
.home-page .news-card a {
  color: var(--home-orange-dark);
}

.home-page .office-panel {
  background: var(--home-pale);
  color: var(--home-ink);
}

.home-page .button-dark {
  background: var(--home-orange);
  color: #fff;
}

.home-page .site-footer {
  background: #fff;
  color: #3d4346;
}

.home-page .site-footer h2,
.home-page .site-footer h3 {
  color: #33383b;
}

.home-page .site-footer p {
  color: #525b60;
}

.home-page .site-footer .copyright {
  background: #2f3336;
  border: 0;
  color: rgba(255, 255, 255, 0.78);
  padding: 17px 20px;
  text-align: center;
}

@media (max-width: 640px) {
  .home-page .hero {
    background:
      linear-gradient(90deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.86) 58%, rgba(255, 255, 255, 0.32) 100%),
      url("../psys/images/hero-image.jpg") 58% center / cover no-repeat;
  }
}

/* Sitewide warm-orange reconstruction */
:root {
  --ink: #332c27;
  --muted: #64594f;
  --line: #eadfd5;
  --paper: #ffffff;
  --surface: #ffffff;
  --accent: #f59a3d;
  --accent-dark: #dc6f16;
  --accent-soft: #fff4ea;
  --accent-light: #f7c38c;
  --orange: #f59a3d;
  --orange-dark: #dc6f16;
  --orange-soft: #fff4ea;
  --green: #f7c38c;
  --teal: #5a5149;
  --shadow: 0 18px 42px rgba(51, 44, 39, 0.08);
}

body {
  background: var(--paper);
  color: var(--ink);
}

.site-header {
  background: rgba(255, 255, 255, 0.96);
  border-bottom-color: #efe6dd;
  box-shadow: 0 1px 0 rgba(51, 44, 39, 0.03);
}

.brand-text strong,
.page-title-band h1,
.section-head h2,
.card h3,
.feature-card h3,
.message-card h2,
.message-card h3,
.product-body h3,
.support-card h3,
.quick-card h3,
.notice-card h3,
.contact-card h3,
.side-card h3,
.office-panel h3 {
  color: var(--ink);
}

.brand-text span,
.page-title-band p,
.section-head p,
.card p,
.feature-card p,
.message-card p,
.product-body p,
.support-card p,
.quick-card p,
.notice-card p,
.contact-card p,
.side-card p,
.note,
.note-list li,
.list li,
.hint,
.download-meta,
.faq-answer {
  color: var(--muted);
}

.nav a {
  color: #3f3730;
}

.nav a:hover,
.nav a[aria-current="page"] {
  background: var(--accent-soft);
  color: var(--accent-dark);
}

.nav .contact-link,
.home-page .nav .contact-link,
.nav .contact-link[aria-current="page"] {
  background: transparent;
  color: var(--accent-dark);
}

.nav .contact-link:hover,
.home-page .nav .contact-link:hover,
.nav .contact-link[aria-current="page"]:hover {
  background: transparent;
  color: var(--accent-dark);
}

.page-title-band {
  background: linear-gradient(180deg, #ffffff 0%, #fff4ea 100%);
  border-bottom-color: var(--line);
}

.breadcrumb,
.breadcrumb li:not(:last-child)::after {
  color: #8c7d70;
}

.breadcrumb a,
.eyebrow,
.text-link,
.site-map a,
.faq-toggle,
.faq-answer a,
.home-page .text-link,
.home-page .news-card time,
.home-page .news-card a {
  color: var(--accent-dark);
}

.card,
.feature-card,
.message-card,
.visual-card,
.lead-card,
.process-card,
.solution-card,
.industry-card,
.case-card,
.product-card,
.support-card,
.download-card,
.notice-card,
.contact-card,
.form-card,
.side-card,
.quick-card,
.faq-card,
.service-card,
.news-card,
.office-panel {
  border-color: var(--line);
  box-shadow: var(--shadow);
}

.band,
.process-section,
.contact-section:not(.cta),
.anchor-nav,
.privacy-box,
.required,
.mini-button,
.chip,
.confirm-row dt {
  background: var(--accent-soft);
  border-color: rgba(247, 195, 140, 0.7);
}

.visual-card img,
.visual-panel,
.product-visual,
.solution-card img,
.media-card img,
.service-image,
.product-media {
  background: #fff8f2;
}

.button,
.home-button,
.home-page .button-primary,
.home-page .button-dark {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
}

.button:hover,
.home-button:hover,
.home-page .button-primary:hover,
.home-page .button-dark:hover {
  background: var(--accent-dark);
  border-color: var(--accent-dark);
  color: #fff;
}

.button.secondary,
.home-outline-button,
.home-page .button-secondary {
  background: #fff;
  border-color: var(--accent-light);
  color: var(--accent-dark);
}

.button.secondary:hover,
.home-outline-button:hover,
.home-page .button-secondary:hover {
  background: var(--accent-soft);
  color: var(--accent-dark);
}

input:focus,
textarea:focus,
select:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 4px rgba(245, 154, 61, 0.22);
}

.list li::before,
.note-list li::before,
.card li::before,
.feature li::before,
.spec-card li::before,
.notice-card li::before,
.industry-card li::before,
.support-card li::before {
  background: var(--accent);
}

.cta,
.case-section,
.contact-section {
  background: #332c27;
  color: rgba(255, 255, 255, 0.78);
}

.cta h2,
.case-section h2,
.case-card h3,
.contact-section h2 {
  color: #fff;
}

.cta p,
.cta .eyebrow,
.case-section .section-head p,
.case-section .eyebrow,
.contact-section .section-head p,
.contact-section .eyebrow,
.contact-card p {
  color: rgba(255, 255, 255, 0.74);
}

.case-card,
.contact-section .contact-card {
  background: rgba(255, 255, 255, 0.07);
  border-color: rgba(255, 255, 255, 0.16);
  box-shadow: none;
}

.contact-section:not(.cta) .section-head h2,
.contact-section:not(.cta) .contact-card h3 {
  color: var(--ink);
}

.contact-section:not(.cta) .section-head p,
.contact-section:not(.cta) .contact-card p {
  color: var(--muted);
}

.cta .button.secondary,
.contact-section .button,
.contact-section .contact-card .button {
  background: #fff;
  border-color: #fff;
  color: var(--ink);
}

.cta .button.secondary:hover,
.contact-section .button:hover,
.contact-section .contact-card .button:hover {
  background: #fff4ea;
  color: var(--accent-dark);
}

.site-footer .footer-links a:hover {
  color: var(--accent-dark);
}

.site-footer,
.home-page .site-footer {
  background: #fbf1e7;
  color: #64594f;
}

.site-footer h2,
.site-footer h3,
.site-footer .footer-grid h2,
.site-footer .footer-grid h3,
.home-page .site-footer h2,
.home-page .site-footer h3 {
  color: #332c27;
}

.site-footer p,
.site-footer a,
.home-page .site-footer p,
.home-page .site-footer a {
  color: #64594f;
}

.site-footer .footer-contact {
  display: grid;
  gap: 4px;
  line-height: 1.2;
}

.site-footer .footer-contact .footer-office {
  color: #64594f;
  display: block;
  font-size: 1rem;
  margin-top: 10px;
}

.site-footer .footer-contact .footer-office:first-child {
  margin-top: 0;
}

.site-footer .footer-contact .footer-phone {
  color: #b84f12;
  display: block;
  font-size: clamp(1.55rem, 2.2vw, 2rem);
  font-weight: 900;
  letter-spacing: 0.02em;
  line-height: 1.05;
  white-space: nowrap;
}

.side-card h3 {
  color: #64594f;
  font-size: 1rem;
  margin: 0;
}

.side-card .tel {
  color: #b84f12;
  font-size: clamp(1.55rem, 2.2vw, 2rem);
  font-weight: 900;
  letter-spacing: 0.02em;
  line-height: 1.05;
  margin: 6px 0 0;
  white-space: nowrap;
}

.site-footer .copyright,
.home-page .site-footer .copyright {
  background: transparent;
  border-top-color: rgba(51, 44, 39, 0.14);
  color: #7a6c60;
}

.home-page {
  --home-ink: var(--ink);
  --home-muted: var(--muted);
  --home-line: var(--line);
  --home-orange: var(--accent);
  --home-orange-dark: var(--accent-dark);
  --home-pale: var(--accent-soft);
}

.home-page .feature-icon {
  background: var(--accent);
  box-shadow: 0 10px 22px rgba(245, 154, 61, 0.18);
}

.home-page .feature-icon svg {
  stroke: #fff;
}
