:root {
      --navy: #08285d;
      --blue: #0968d8;
      --cyan: #12a8d8;
      --green: #1aa77d;
      --red: #e84a52;
      --yellow: #f4b931;
      --ink: #17355f;
      --muted: #60708a;
      --line: #d8e7f2;
      --soft: #f3f9fd;
      --bg: #f7fbfe;
    }
    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      color: var(--ink);
      background: var(--bg);
      font-family: "Noto Sans JP", "Yu Gothic", "Meiryo", Arial, sans-serif;
      letter-spacing: 0;
    }
    a { color: inherit; text-decoration: none; }
    img { max-width: 100%; display: block; }
    .wrap { width: min(1200px, calc(100% - 40px)); margin: 0 auto; }
    body > header {
      position: sticky;
      top: 0;
      z-index: 50;
      background: #fff;
      border-bottom: 1px solid rgba(11,116,209,.16);
      box-shadow: 0 8px 24px rgba(13,78,145,.08);
    }
    .head { height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
    .header-brand { min-width: 0; display: flex; align-items: center; gap: 16px; }
    .logo { width: 168px; height: auto; }
    .header-copy { min-width: 0; display: flex; flex-direction: column; gap: 2px; padding-left: 16px; border-left: 1px solid #d8e2ea; line-height: 1.35; }
    .header-copy b { color: #1e2f5c; font-size: 14px; }
    .header-copy span { color: rgba(30,47,92,.7); font-size: 11px; font-weight: 700; }
    .head-actions { display: flex; align-items: center; gap: 20px; color: #001e6a; font-weight: 800; }
    .header-count-link {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      min-height: 44px;
      font-size: 13px;
      transition: color .16s ease, opacity .16s ease, transform .16s ease;
    }
    .header-count-link:hover,
    .header-count-link:focus-visible { color: #0968d8; opacity: .82; transform: translateY(-1px); outline: none; }
    .header-count-link svg { width: 22px; height: 22px; flex: 0 0 22px; }
    .header-count-badge {
      width: 20px;
      height: 20px;
      border-radius: 999px;
      background: #0b58bc;
      color: #fff;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 11px;
      line-height: 1;
      font-weight: 900;
    }
    .menu-cta {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 44px;
      padding: 0 18px;
      border: 0;
      border-radius: 3px;
      background: var(--red);
      color: #fff;
      font-weight: 900;
      box-shadow: 0 10px 20px rgba(232,74,82,.22);
      transition: background-color .16s ease, transform .16s ease, box-shadow .16s ease;
    }
    .menu-cta:hover,
    .menu-cta:focus-visible { background: #cf3942; color: #fff; box-shadow: 0 12px 24px rgba(232,74,82,.28); transform: translateY(-1px); outline: none; }
    .menu-cta svg { display: none; }
    .menu-cta span { font-size: 0; }
    .menu-cta span::before { content: "無料相談"; font-size: 14px; }
    .mock-toolbar {
      background: #eaf6fd;
      border-bottom: 1px solid #cfe4f2;
    }
    .mock-toolbar .wrap {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 14px;
      align-items: end;
      padding: 18px 0;
    }
    .control label { display: block; margin: 0 0 6px; font-size: 12px; font-weight: 900; color: var(--navy); }
    select {
      width: auto;
      max-width: 100%;
      min-width: 130px;
      height: 44px;
      border: 1px solid #b9d5e8;
      border-radius: 3px;
      padding: 0 14px;
      color: var(--ink);
      background: #fff;
      font: inherit;
      font-weight: 700;
      cursor: pointer;
    }
    .mock-toolbar select { width: 100%; }
    button:not(:disabled) { cursor: pointer; transition: background-color .16s ease, border-color .16s ease, color .16s ease, transform .16s ease, box-shadow .16s ease; }
    button:not(:disabled):hover,
    button:not(:disabled):focus-visible { border-color: #0968d8; background: #f1f8ff; color: #0968d8; box-shadow: 0 8px 18px rgba(9,104,216,.12); transform: translateY(-1px); outline: none; }
    label:has(input[type="checkbox"]:not(:disabled)),
    label:has(input[type="radio"]:not(:disabled)),
    input[type="checkbox"]:not(:disabled),
    input[type="radio"]:not(:disabled) { cursor: pointer; }
    select:disabled,
    button:disabled,
    input[type="checkbox"]:disabled,
    input[type="radio"]:disabled { cursor: not-allowed; }
    .breadcrumb { padding: 14px 0; font-size: 13px; color: var(--muted); font-weight: 700; }
    .hero {
      background:
        linear-gradient(90deg, rgba(255,255,255,.97) 0%, rgba(255,255,255,.84) 50%, rgba(255,255,255,.55) 100%),
        url("/img/mainvisual__bg.webp") center/cover no-repeat;
      border-bottom: 1px solid #d5e8f4;
    }
    .hero-inner {
      display: grid;
      grid-template-columns: minmax(0, 1.02fr) minmax(360px, .78fr);
      gap: 42px;
      align-items: center;
      min-height: 390px;
      padding: 46px 0;
    }
    .eyebrow { margin: 0 0 12px; color: var(--cyan); font-size: 13px; font-weight: 900; text-transform: uppercase; }
    h1 { margin: 0; color: var(--navy); font-size: 42px; line-height: 1.32; font-weight: 900; }
    .lead { margin: 18px 0 0; max-width: 760px; color: #3f5877; font-size: 17px; line-height: 1.9; font-weight: 700; }
    .chips { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
    .chip { display: inline-flex; align-items: center; min-height: 30px; padding: 6px 12px; border: 1px solid #a7d7ee; border-radius: 999px; background: #fff; color: var(--blue); font-size: 12px; font-weight: 900; }
    .hero-card, .panel, .item-card {
      background: rgba(255,255,255,.96);
      border: 1px solid var(--line);
      border-radius: 3px;
      box-shadow: 0 12px 28px rgba(7,58,117,.09);
    }
    .hero-card { padding: 24px; }
    .hero-card h2, .panel h2 { margin: 0 0 14px; color: var(--navy); font-size: 22px; line-height: 1.45; }
    .hero-card p, .panel p, .item-card p, li { color: #506781; line-height: 1.8; font-weight: 700; }
    .stat-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
    .stat { padding: 16px; border: 1px solid #d7e9f5; border-radius: 3px; background: #f8fcff; }
    .stat b { display: block; color: var(--navy); font-size: 24px; }
    section { background: #fff; }
    section.alt { background: #f3f9fd; }
    .section-head { display: flex; justify-content: space-between; gap: 30px; align-items: end; margin-bottom: 22px; }
    .section-head h2 { margin: 0; color: var(--navy); font-size: 30px; line-height: 1.35; }
    .section-head p { margin: 0; max-width: 560px; color: var(--muted); line-height: 1.8; font-weight: 700; }
    .grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
    .grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
    .grid-4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
    .split { display: grid; grid-template-columns: minmax(0, 1fr) 390px; gap: 26px; align-items: start; }
    .panel { padding: 24px; }
    .item-card { overflow: hidden; }
    .item-card .body { padding: 16px; }
    .item-card h3 { margin: 0 0 8px; color: var(--navy); font-size: 18px; line-height: 1.45; }
    .thumb { width: 100%; height: 164px; object-fit: cover; background: #dbeefa; }
    .data-list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
    .data-list li { display: flex; justify-content: space-between; gap: 20px; padding: 12px 0; border-bottom: 1px solid #e6f0f7; }
    .data-list b { color: var(--navy); text-align: right; }
    .form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .field { min-height: 48px; padding: 13px 14px; border: 1px solid #cbddeb; border-radius: 3px; background: #fff; color: #6a7890; font-weight: 800; }
    .button-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 18px; }
    .primary-btn, .secondary-btn { min-height: 48px; border-radius: 3px; padding: 0 22px; display: inline-flex; align-items: center; justify-content: center; font-weight: 900; border: 0; max-width: 100%; text-align: center; white-space: normal; line-height: 1.35; transition: background-color .16s ease, border-color .16s ease, color .16s ease, transform .16s ease, box-shadow .16s ease; }
    .primary-btn { color: #fff; background: var(--red); }
    .secondary-btn { color: var(--blue); background: #fff; border: 1px solid #acd2ed; }
    .primary-btn:not(:disabled):hover,
    .primary-btn:not(:disabled):focus-visible { background: #cf3942; color: #fff; box-shadow: 0 12px 24px rgba(232,74,82,.26); transform: translateY(-1px); outline: none; }
    .secondary-btn:not(:disabled):hover,
    .secondary-btn:not(:disabled):focus-visible { border-color: #0968d8; background: #f1f8ff; color: #0968d8; box-shadow: 0 8px 18px rgba(9,104,216,.12); transform: translateY(-1px); outline: none; }
    .wide-cta { background: linear-gradient(90deg, #0968d8, #11a9d8 55%, #1aa77d); color: #fff; }
    .wide-cta .wrap { min-height: 132px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
    .wide-cta h2 { margin: 0; color: #fff; font-size: 30px; }
    .wide-cta p { margin: 8px 0 0; color: rgba(255,255,255,.9); font-weight: 700; }
    .tabs { display: flex; flex-wrap: wrap; gap: 10px; }
    .tab { padding: 9px 14px; border: 1px solid #b8d9ef; border-radius: 999px; background: #fff; color: var(--blue); font-size: 13px; font-weight: 900; }
    .content-stack { display: grid; gap: 18px; }
    .content-stack .panel { box-shadow: none; }
    .bullet-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
    .bullet-grid li { min-height: 44px; padding: 12px 14px; border: 1px solid #e1edf5; border-radius: 3px; background: #f8fcff; color: #334c6f; }
    .flow-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; counter-reset: flow; }
    .flow-list li { position: relative; min-height: 92px; padding: 16px 16px 16px 52px; border: 1px solid #d8e7f2; border-radius: 3px; background: #fff; }
    .flow-list li:before { counter-increment: flow; content: counter(flow); position: absolute; left: 16px; top: 16px; width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; background: var(--blue); color: #fff; font-size: 12px; font-weight: 900; }
    .notice-box { padding: 18px; border: 1px solid #f0d38c; border-radius: 3px; background: #fff9e7; color: #7b5a08; font-weight: 800; line-height: 1.8; }
    .condition-block { display: grid; gap: 18px; }
    .condition-group { padding: 18px; border: 1px solid #d8e7f2; border-radius: 3px; background: #fff; }
    .condition-group h3 { margin: 0 0 12px; color: var(--navy); font-size: 18px; }
    .condition-options { display: flex; flex-wrap: wrap; gap: 8px; }
    .condition-options span { display: inline-flex; align-items: center; min-height: 32px; padding: 6px 11px; border: 1px solid #cfe3f3; border-radius: 999px; background: #f8fcff; color: #395979; font-size: 12px; font-weight: 800; }
    .result-layout { display: grid; grid-template-columns: 310px minmax(0, 1fr); gap: 24px; align-items: start; }
    .result-list { display: grid; gap: 18px; }
    .result-card { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 18px; overflow: hidden; }
    .result-card .thumb { height: 100%; min-height: 178px; }
    .result-meta { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0; }
    .result-meta span { padding: 5px 9px; border-radius: 999px; background: #edf7ff; color: var(--blue); font-size: 12px; font-weight: 900; }
    .result-price { color: var(--red); font-size: 22px; font-weight: 900; }
    .search-page-hero { min-height: 230px; background:
      linear-gradient(90deg, rgba(35,173,214,.88), rgba(116,212,244,.72)),
      url("/img/mainvisual__bg.webp") center/cover no-repeat; color: #fff; }
    .search-page-hero .wrap { min-height: 230px; display: grid; grid-template-columns: 1fr 300px; gap: 30px; align-items: center; }
    .search-page-hero h1 { color: #fff; font-size: 34px; }
    .search-page-hero p { max-width: 660px; color: rgba(255,255,255,.95); line-height: 1.9; font-weight: 800; }
    .search-page-count { justify-self: end; width: 150px; height: 150px; border-radius: 50%; display: grid; place-items: center; background: #fff; color: var(--blue); font-size: 28px; font-weight: 900; box-shadow: 0 14px 30px rgba(0,0,0,.12); text-align: center; }
    .search-page-count span { display: block; color: #526b85; font-size: 12px; }
    .search-result-shell { background: #eef3f6; padding: 26px 0 50px; }
    .search-result-grid { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 22px; align-items: start; }
    .search-side { display: grid; gap: 14px; }
    .filter-box { overflow: hidden; border-radius: 3px; border: 1px solid #cfe3f3; background: #fff; box-shadow: 0 8px 18px rgba(8,40,93,.08); }
    .filter-box h2 { margin: 0; padding: 12px 15px; background: #159ed1; color: #fff; font-size: 15px; }
    .filter-box .body { padding: 14px; }
    .filter-box label { display: block; margin: 0 0 10px; color: #344f6d; font-size: 13px; font-weight: 800; }
    .filter-box input, .filter-box select { width: 100%; height: 34px; border: 1px solid #cfddea; border-radius: 3px; padding: 0 9px; background: #f8fcff; }
    .filter-checks { display: grid; gap: 7px; font-size: 12px; color: #405a77; font-weight: 700; }
    .filter-cta { display: block; width: 100%; min-height: 38px; border: 0; border-radius: 999px; background: #f59d00; color: #fff; font-weight: 900; }
    .result-head { display: flex; justify-content: space-between; gap: 18px; align-items: center; margin: 0 0 14px; color: #526b85; font-size: 13px; font-weight: 800; }
    .pager { display: flex; gap: 6px; align-items: center; justify-content: center; }
    .pager span { min-width: 26px; height: 26px; display: grid; place-items: center; border: 1px solid #cfe3f3; border-radius: 3px; background: #fff; color: #32658d; font-size: 12px; font-weight: 900; }
    .building-card { margin-bottom: 18px; overflow: hidden; border: 1px solid #c9e1f1; border-radius: 3px; background: #fff; box-shadow: 0 8px 20px rgba(8,40,93,.08); }
    .building-card__head { padding: 11px 16px; background: #159ed1; color: #fff; font-weight: 900; }
    .building-card__body { display: grid; grid-template-columns: 170px minmax(0,1fr); gap: 16px; padding: 14px 16px; }
    .building-photo { height: 160px; border: 1px solid #d8e7f2; object-fit: cover; background: #eef6fb; }
    .building-info h2 { margin: 0 0 8px; color: var(--navy); font-size: 19px; }
    .building-tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0; }
    .building-tags span { padding: 5px 9px; border-radius: 3px; color: #fff; font-size: 11px; font-weight: 900; }
    .tag-red { background: #e84a52; } .tag-purple { background: #9b4dcc; } .tag-green { background: #18a87d; } .tag-orange { background: #f59d00; }
    .building-spec { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 7px 14px; margin: 8px 0 10px; color: #4f657e; font-size: 13px; font-weight: 700; }
    .room-table { border-top: 1px solid #e2edf5; }
    .room-row { display: grid; grid-template-columns: 70px 1fr 90px 90px 100px 110px 116px; gap: 8px; align-items: center; padding: 9px 12px; border-top: 1px solid #e9f2f8; color: #405a77; font-size: 12px; }
    .room-row:first-child { border-top: 0; background: #f6fbff; color: #55708d; font-weight: 900; }
    .room-price { color: var(--red); font-weight: 900; }
    .room-action { min-height: 28px; border-radius: 999px; background: #159ed1; color: #fff; display: inline-flex; align-items: center; justify-content: center; font-weight: 900; }
    .search-seo-links { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; margin-top: 22px; }
    .wf-only .search-page-hero { min-height: 0; background: #f3f7fa; color: var(--ink); border-bottom: 1px solid #d8e7f2; }
    .wf-only .search-page-hero .wrap { min-height: 0; grid-template-columns: 1fr auto; padding: 30px 0; }
    .wf-only .search-page-hero h1 { color: var(--navy); font-size: 28px; }
    .wf-only .search-page-hero p { color: #536b84; }
    .wf-only .search-page-count { width: auto; height: auto; border-radius: 3px; padding: 16px 22px; box-shadow: none; border: 1px solid #d8e7f2; font-size: 24px; }
    .wf-only .search-result-shell { background: #fff; }
    .wf-only .filter-box, .wf-only .building-card, .wf-only .panel, .wf-only .item-card { box-shadow: none; border-color: #d8e2ea; border-radius: 3px; }
    .wf-only .filter-box h2, .wf-only .building-card__head { background: #e8f0f6; color: var(--navy); }
    .wf-only .condition-options span, .wf-only .building-tags span, .wf-only .result-meta span { border: 1px solid #d8e2ea; background: #fff; color: #405a77; }
    .wf-only .building-card__body { grid-template-columns: 130px minmax(0,1fr); }
    .wf-only .building-photo { height: 110px; min-height: 110px; background: #eef3f7; }
    .wf-only .room-row { grid-template-columns: 54px 1fr 70px 82px 86px 74px 88px; }
    .wf-only .room-action, .wf-only .primary-btn, .wf-only .secondary-btn, .wf-only .filter-cta { border: 1px solid #b9cbd9; background: #fff; color: var(--navy); box-shadow: none; }
    .filter-list { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
    .filter-list li { display: flex; justify-content: space-between; gap: 10px; padding: 8px 0; border-bottom: 1px solid #edf2f6; color: #405a77; font-size: 13px; font-weight: 700; }
    .filter-list b { color: var(--navy); font-weight: 900; }
    .search-results-wire .search-page-hero { background: linear-gradient(90deg, rgba(9,104,216,.9), rgba(17,169,216,.72)), url("/img/mainvisual__bg.webp") center/cover no-repeat; border-bottom: 0; color: #fff; }
    .search-results-wire .search-page-hero .wrap { grid-template-columns: minmax(0,1fr) 300px; padding: 34px 0; }
    .search-results-wire .search-page-hero h1 { color: #fff; font-size: 32px; }
    .search-results-wire .search-page-hero p { color: rgba(255,255,255,.94); }
    .search-results-wire .search-page-count { width: min(300px, 100%); border: 0; background: #fff; box-shadow: 0 14px 30px rgba(8,40,93,.16); color: #0968d8; text-align: left; }
    .search-page-count__label { display: block; margin-bottom: 6px; color: #526b85; font-size: 13px; font-weight: 900; }
    .search-page-count__number { display: block; color: #0968d8; font-size: 32px; line-height: 1.1; font-weight: 900; }
    .search-page-count__sub { display: block; margin-top: 8px; color: #526b85; font-size: 13px; font-weight: 800; }
    .search-results-wire .search-result-shell { background: #f3f7fa; }
    .search-results-wire .filter-box { border-color: #c8dce9; box-shadow: 0 8px 18px rgba(8,40,93,.06); }
    .search-results-wire .filter-box h2 { background: #0968d8; color: #fff; }
    .search-results-wire .filter-box .body p { margin: 0; color: #405a77; line-height: 1.7; font-size: 13px; font-weight: 800; }
    .search-change-list { display: grid; gap: 8px; }
    .search-change-list a { min-height: 38px; display: flex; align-items: center; justify-content: space-between; gap: 10px; border: 1px solid #d8e7f2; border-radius: 3px; background: #f8fcff; padding: 8px 10px; color: #344f6d; font-size: 13px; font-weight: 900; }
    .search-change-list b { color: #0968d8; }
    .search-option-cloud { display: flex; flex-wrap: wrap; gap: 8px; }
    .search-option-cloud span { display: inline-flex; align-items: center; min-height: 30px; border: 1px solid #d8e7f2; border-radius: 3px; background: #fff; padding: 5px 9px; color: #405a77; font-size: 12px; font-weight: 800; }
    .search-filter-count { display: grid; gap: 10px; margin-top: 12px; padding-top: 12px; border-top: 1px solid #e5edf3; }
    .search-filter-count h3 { margin: 0; color: var(--navy); font-size: 14px; }
    .search-filter-count h3 b { color: #0968d8; font-size: 22px; }
    .search-results-wire .filter-cta { min-height: 40px; border: 0; background: var(--red); color: #fff; }
    .search-results-wire .result-head { border: 1px solid #c8dce9; border-radius: 3px; background: #fff; padding: 12px 14px; }
    .search-result-total { color: #344f6d; font-size: 14px; }
    .search-result-total b { color: #0968d8; font-size: 22px; }
    .search-display-select { height: 34px; border: 1px solid #c8dce9; border-radius: 3px; background: #fff; color: #344f6d; font-size: 13px; font-weight: 800; }
    .search-results-wire .building-card { border-color: #c8dce9; box-shadow: 0 10px 24px rgba(8,40,93,.08); }
    .search-results-wire .building-card__head { background: #159ed1; color: #fff; }
    .building-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
    .building-actions a { min-height: 34px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #b9d5e8; border-radius: 3px; padding: 7px 12px; color: #0968d8; background: #fff; font-size: 13px; font-weight: 900; }
    .building-actions a:last-child { background: #f1f8ff; }
    body.wireframe-mode { background: #fff; }
    body.wireframe-mode > header { position: sticky; box-shadow: 0 8px 24px rgba(13,78,145,.08); border-bottom: 1px solid rgba(11,116,209,.16); background: #fff; }
    .wireframe-mode .logo { filter: none; }
    .wireframe-mode .primary-btn,
    .wireframe-mode .secondary-btn,
    .wireframe-mode .white-btn,
    .wireframe-mode .search-btn,
    .wireframe-mode .filter-cta { background: #fff; color: var(--navy); border: 1px solid #aebfcd; box-shadow: none; }
    .wireframe-mode .primary-btn:not(:disabled):hover,
    .wireframe-mode .secondary-btn:not(:disabled):hover,
    .wireframe-mode .white-btn:not(:disabled):hover,
    .wireframe-mode .search-btn:not(:disabled):hover,
    .wireframe-mode .filter-cta:not(:disabled):hover,
    .wireframe-mode .primary-btn:not(:disabled):focus-visible,
    .wireframe-mode .secondary-btn:not(:disabled):focus-visible,
    .wireframe-mode .white-btn:not(:disabled):focus-visible,
    .wireframe-mode .search-btn:not(:disabled):focus-visible,
    .wireframe-mode .filter-cta:not(:disabled):focus-visible { background: #eef6ff; color: #0968d8; border-color: #0968d8; box-shadow: 0 8px 18px rgba(9,104,216,.1); transform: translateY(-1px); outline: none; }
    .wireframe-mode .hero { background: #f6f8fa; border-bottom: 1px solid #d8e2ea; }
    .wireframe-mode .hero:before { display: none; }
    .wireframe-mode .hero-inner { min-height: 260px; padding: 34px 0; }
    .wireframe-mode h1 { font-size: 32px; }
    .wireframe-mode .hero-card,
    .wireframe-mode .panel,
    .wireframe-mode .item-card,
    .wireframe-mode .card,
    .wireframe-mode .search-card,
    .wireframe-mode .company-lead-card,
    .wireframe-mode .company-message,
    .wireframe-mode .filter-box,
    .wireframe-mode .building-card { border: 1px solid #d8e2ea; border-radius: 3px; box-shadow: none; background: #fff; }
    .wireframe-mode section,
    .wireframe-mode section.alt,
    .wireframe-mode .company-page,
    .wireframe-mode .search-result-shell { background: #fff; }
    .wireframe-mode .owner-hero {
      background:
        linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.9) 52%, rgba(255,255,255,.62) 100%),
        url("/img/company/owner/owner-hero-consultation.webp") center/cover no-repeat;
    }
    .wireframe-mode .wide-cta,
    .wireframe-mode .company-cta-band { background: #f5f7fa; color: var(--ink); border-top: 1px solid #d8e2ea; border-bottom: 1px solid #d8e2ea; }
    .wireframe-mode .wide-cta h2,
    .wireframe-mode .company-cta-band h2 { color: var(--navy); }
    .wireframe-mode .wide-cta p,
    .wireframe-mode .company-cta-band p { color: #536b84; }
    .wireframe-mode .chip,
    .wireframe-mode .tag,
    .wireframe-mode .condition-options span,
    .wireframe-mode .building-tags span,
    .wireframe-mode .result-meta span,
    .wireframe-mode .tab { background: #fff; color: #405a77; border: 1px solid #cbd8e2; }
    .wireframe-mode .thumb,
    .wireframe-mode .building-photo,
    .wireframe-mode .company-recruit__photo,
    .wireframe-mode .company-map,
    .wireframe-mode .map-box { background: #eef2f5; border: 1px solid #d8e2ea; }
    .wireframe-mode .company-recruit,
    .wireframe-mode .company-table,
    .wireframe-mode .company-profile-grid,
    .wireframe-mode .company-access-split { box-shadow: none; }
    .wireframe-mode .company-recruit__body,
    .wireframe-mode .company-recruit__bar,
    .wireframe-mode .company-table th,
    .wireframe-mode .filter-box h2,
    .wireframe-mode .building-card__head { background: #eef2f5; color: var(--navy); }
    .wireframe-mode .footer-main { background: #f5f7fa; color: #34475d; border-top: 1px solid #d8e2ea; }
    .wireframe-mode .footer-main p,
    .wireframe-mode .footer-main li,
    .wireframe-mode .copy { color: #536b84; }
    .detail-wire { background: #eef3f6; }
    .detail-hero { background: #f4f8fb; border-bottom: 1px solid #d8e2ea; }
    .detail-hero .wrap { min-height: 160px; display: grid; place-items: center; text-align: center; }
    .detail-hero h1 { font-size: 28px; letter-spacing: .04em; }
    .detail-wrap { width: min(860px, calc(100% - 40px)); margin: 0 auto; padding: 28px 0 56px; }
    .detail-main { display: grid; grid-template-columns: minmax(0,1fr) 240px; gap: 18px; align-items: start; }
    .detail-box { border: 1px solid #d8e2ea; border-radius: 3px; background: #fff; padding: 16px; margin-bottom: 18px; }
    .detail-box, .summary-box, .building-card, .item-card, .panel { min-width: 0; }
    .detail-status { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
    .detail-status span { padding: 5px 10px; border: 1px solid #cbd8e2; border-radius: 3px; color: #405a77; font-size: 12px; font-weight: 900; }
    .detail-gallery { display: grid; grid-template-columns: 1.15fr .85fr; gap: 12px; }
    .detail-main-photo { min-height: 330px; border: 1px solid #d8e2ea; background: #eef3f6; display: grid; place-items: center; color: #6b7f93; font-weight: 900; }
    .detail-thumbs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
    .detail-thumb { min-height: 98px; border: 1px solid #d8e2ea; background: #f5f7fa; display: grid; place-items: center; color: #7b8da0; font-size: 12px; font-weight: 800; }
    .summary-box { border: 1px solid #d8e2ea; border-radius: 3px; background: #fff; overflow: hidden; }
    .summary-box h2 { margin: 0; padding: 11px 13px; background: #eef2f5; color: var(--navy); font-size: 15px; }
    .summary-box dl { margin: 0; display: grid; grid-template-columns: 92px 1fr; }
    .summary-box dt, .summary-box dd { margin: 0; padding: 10px 12px; border-top: 1px solid #e5edf3; font-size: 12px; line-height: 1.6; }
    .summary-box dt { background: #f7fafc; font-weight: 900; color: #405a77; }
    .detail-section-title { margin: 28px 0 12px; padding: 11px 14px; border: 1px solid #c8dce9; border-radius: 3px; background: #eef6fb; color: var(--navy); font-size: 18px; }
    .vacancy-table { border: 1px solid #d8e2ea; background: #fff; }
    .vacancy-row { display: grid; grid-template-columns: 90px 90px 86px 82px 82px 1fr 112px; gap: 8px; align-items: center; padding: 10px; border-top: 1px solid #e5edf3; font-size: 12px; }
    .vacancy-row:first-child { border-top: 0; background: #f7fafc; font-weight: 900; }
    .detail-data-table { width: 100%; border-collapse: collapse; background: #fff; }
    .detail-data-table th, .detail-data-table td { border: 1px solid #d8e2ea; padding: 11px 13px; text-align: left; vertical-align: top; line-height: 1.65; font-size: 13px; }
    .detail-data-table th { width: 150px; background: #f7fafc; color: #405a77; }
    .equipment-list { display: flex; flex-wrap: wrap; gap: 8px; padding: 14px; border: 1px solid #d8e2ea; background: #fff; }
    .equipment-list span { padding: 7px 10px; border: 1px solid #cbd8e2; border-radius: 3px; background: #fff; font-size: 12px; font-weight: 800; color: #405a77; }
    .note-list { padding: 16px 20px; border: 1px solid #d8e2ea; background: #fff; color: #536b84; line-height: 1.8; font-size: 13px; }
    .contact-strip { border: 1px solid #d8e2ea; background: #fff; padding: 16px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 18px 0; }
    .video-box { height: 260px; border: 1px solid #d8e2ea; background: #eef3f6; display: grid; place-items: center; color: #6b7f93; font-weight: 900; }
    .school-grid, .related-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
    .school-card, .related-card { border: 1px solid #d8e2ea; background: #fff; padding: 14px; }
    .simple-carousel { margin-top: 46px; padding: 34px 0; border-top: 1px solid #d8e2ea; border-bottom: 1px solid #d8e2ea; background: #fff; }
    .simple-carousel .grid-4 { width: min(860px, calc(100% - 40px)); margin: 18px auto 0; }
    .detail-seo-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; margin: 0 0 18px; }
    .detail-seo-card { border: 1px solid #d8e2ea; background: #fff; padding: 14px; }
    .detail-seo-card h2 { margin: 0 0 8px; color: var(--navy); font-size: 16px; }
    .detail-seo-card p { margin: 0; color: #536b84; line-height: 1.7; font-size: 13px; font-weight: 700; }
    .detail-anchor-nav { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; }
    .detail-anchor-nav a { padding: 8px 10px; border: 1px solid #cbd8e2; background: #fff; color: #405a77; font-size: 12px; font-weight: 900; }
    .contact-wire { background: #fff; }
    .contact-form-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 24px; align-items: start; }
    .contact-form { display: grid; gap: 18px; }
    .form-section { border: 1px solid #d8e2ea; background: #fff; padding: 20px; }
    .form-section h2 { margin: 0 0 14px; color: var(--navy); font-size: 20px; }
    .real-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
    .real-field { display: grid; gap: 7px; min-width: 0; }
    .real-field.full { grid-column: 1 / -1; }
    .real-field label { color: #344f6d; font-size: 13px; font-weight: 900; }
    .required-mark, .optional-mark { display: inline-flex; margin-left: 8px; padding: 2px 6px; border: 1px solid #cbd8e2; border-radius: 3px; font-size: 11px; font-weight: 900; }
    .required-mark { color: #b23333; }
    .optional-mark { color: #536b84; }
    .real-field input,
    .real-field select,
    .real-field textarea { width: 100%; min-width: 0; border: 1px solid #b9cbd9; border-radius: 3px; background: #fff; color: #273d55; font: inherit; font-size: 14px; }
    .real-field input,
    .real-field select { height: 44px; padding: 0 12px; }
    .real-field textarea { min-height: 138px; padding: 12px; resize: vertical; }
    .radio-list, .checkbox-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
    .radio-list label, .checkbox-list label { min-height: 42px; display: flex; align-items: center; gap: 9px; border: 1px solid #d8e2ea; padding: 9px 10px; color: #344f6d; font-weight: 800; line-height: 1.4; }
    .radio-list input, .checkbox-list input { width: 16px; height: 16px; flex: 0 0 auto; }
    .form-help { margin: 6px 0 0; color: #6b7f93; font-size: 12px; line-height: 1.6; }
    .contact-side { display: grid; gap: 14px; }
    .contact-side .panel { padding: 18px; }
    .login-wire { background: #fff; }
    .login-layout { display: grid; grid-template-columns: minmax(0, 560px) minmax(280px, 1fr); gap: 28px; align-items: start; }
    .login-form { border: 1px solid #d8e2ea; background: #fff; padding: 24px; display: grid; gap: 18px; }
    .login-form h2 { margin: 0; color: var(--navy); font-size: 22px; }
    .login-remember { min-height: 42px; display: flex; align-items: center; gap: 9px; border: 1px solid #d8e2ea; padding: 9px 10px; color: #344f6d; font-weight: 800; line-height: 1.4; }
    .login-remember input { width: 16px; height: 16px; flex: 0 0 auto; }
    .login-actions { display: grid; gap: 12px; }
    .login-submit { width: 100%; min-height: 48px; border: 0; border-radius: 3px; background: #0968d8; color: #fff; font: inherit; font-weight: 900; cursor: pointer; }
    .login-sub-links { display: flex; flex-wrap: wrap; gap: 10px 18px; margin: 0; padding: 0; list-style: none; font-size: 13px; font-weight: 800; color: #0968d8; }
    .login-benefits { display: grid; gap: 14px; }
    .login-benefit { border: 1px solid #d8e2ea; background: #fff; padding: 18px; }
    .login-benefit h2 { margin: 0 0 8px; color: var(--navy); font-size: 18px; }
    .login-benefit p { margin: 0; color: #536b84; line-height: 1.75; font-weight: 700; }
    .login-note-list { margin: 0; padding-left: 18px; color: #536b84; line-height: 1.85; font-size: 13px; font-weight: 700; }
    .register-wire { background: #fff; }
    .register-layout { display: grid; grid-template-columns: minmax(0, 520px) minmax(0, 1fr); gap: 28px; align-items: start; }
    .register-form { border: 1px solid #d8e2ea; background: #fff; padding: 24px; display: grid; gap: 18px; }
    .register-form h2 { margin: 0; color: var(--navy); font-size: 22px; }
    .register-submit { width: 100%; min-height: 48px; border: 0; border-radius: 3px; background: #e84a52; color: #fff; font: inherit; font-weight: 900; cursor: pointer; }
    .register-benefits { display: grid; gap: 14px; }
    .register-benefit { border: 1px solid #d8e2ea; background: #fff; padding: 18px; }
    .register-benefit h2 { margin: 0 0 8px; color: var(--navy); font-size: 18px; }
    .register-benefit p { margin: 0; color: #536b84; line-height: 1.75; font-weight: 700; }
    .register-steps { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; }
    .register-steps .panel { box-shadow: none; }
    .register-variant-b .register-layout { grid-template-columns: minmax(0,1fr); }
    .register-variant-b .register-benefits { grid-template-columns: repeat(3, minmax(0,1fr)); }
    .register-variant-c .register-layout { grid-template-columns: minmax(0,1fr) 420px; }
    .register-variant-c .register-form { order: 2; position: sticky; top: 116px; }
    .register-variant-c .register-benefits { order: 1; }
    .member-wire { background: #f5f5f5; }
    .member-shell { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 24px; align-items: start; padding: 34px 0 64px; }
    .member-menu { border: 1px solid #d8e2ea; background: #fff; }
    .member-menu h2 { margin: 0; padding: 12px 14px; border-bottom: 1px solid #d8e2ea; text-align: center; color: #334; font-size: 15px; }
    .member-menu ul { margin: 0; padding: 0; list-style: none; }
    .member-menu a { display: block; padding: 12px 16px; border-bottom: 1px solid #e5edf3; color: #344f6d; font-weight: 800; }
    .member-menu a.is-current { background: #333; color: #fff; }
    .member-main { display: grid; gap: 34px; min-width: 0; }
    .member-banner { border: 1px solid #d8e2ea; background: #e8f8ff; padding: 28px; display: grid; grid-template-columns: 150px minmax(0,1fr); gap: 24px; align-items: center; }
    .member-banner-visual { width: 140px; height: 140px; border: 1px solid #cbd8e2; border-radius: 50%; background: #fff; display: grid; place-items: center; color: #7b8da0; font-weight: 900; }
    .member-banner h1 { margin: 0; color: #159ed1; font-size: 32px; }
    .member-banner p { margin: 10px 0 0; color: #405a77; line-height: 1.75; font-weight: 700; }
    .member-section-title { margin: 0 0 14px; padding-left: 16px; border-left: 4px solid #333; color: #222; font-size: 18px; }
    .favorite-table { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid #d8e2ea; table-layout: fixed; }
    .favorite-table th, .favorite-table td { border: 1px solid #d8e2ea; padding: 12px; text-align: center; vertical-align: middle; color: #344f6d; line-height: 1.6; font-size: 13px; }
    .favorite-table th { background: #333; color: #fff; font-weight: 900; }
    .favorite-table .property-cell { text-align: left; width: 40%; }
    .favorite-table .property-cell a { color: #0968d8; font-weight: 900; text-decoration: underline; }
    .favorite-table img { width: 82px; height: 82px; object-fit: cover; margin: 0 auto; border: 1px solid #d8e2ea; }
    .member-actions { display: grid; gap: 8px; }
    .member-actions a, .member-actions button { min-height: 34px; border: 1px solid #cbd8e2; border-radius: 3px; background: #fff; color: #344f6d; font: inherit; font-size: 12px; font-weight: 900; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
    .history-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 22px; }
    .history-card { background: #fff; border: 1px solid #d8e2ea; padding: 12px; }
    .history-card img { width: 100%; height: 150px; object-fit: cover; border: 1px solid #d8e2ea; background: #eef3f6; }
    .history-card h3 { margin: 10px 0 6px; color: #159ed1; font-size: 16px; line-height: 1.45; }
    .history-card p { margin: 0; color: #536b84; font-size: 13px; line-height: 1.7; font-weight: 700; }
    .member-quick { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; }
    .member-quick a { border: 1px solid #d8e2ea; background: #fff; padding: 16px; color: #344f6d; font-weight: 900; }
    .member-variant-b .member-shell { grid-template-columns: minmax(0,1fr); }
    .member-variant-b .member-menu ul { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); }
    .member-variant-c .member-shell { grid-template-columns: minmax(0,1fr) 280px; }
    .member-variant-c .member-menu { order: 2; position: sticky; top: 116px; }
    .member-variant-c .member-main { order: 1; }
    .member-favorite-list { display: grid; gap: 14px; }
    .member-favorite-card { display: grid; grid-template-columns: 120px minmax(0,1fr) 190px; gap: 16px; align-items: center; border: 1px solid #d8e2ea; background: #fff; padding: 14px; }
    .member-favorite-card img { width: 120px; height: 96px; object-fit: cover; border: 1px solid #d8e2ea; }
    .member-favorite-card h3 { margin: 0 0 6px; color: #0968d8; font-size: 17px; }
    .member-favorite-card p { margin: 0; color: #536b84; line-height: 1.7; font-size: 13px; font-weight: 700; }
    .favorite-wire { background: #f7fafc; }
    .favorite-layout { display: grid; gap: 18px; padding: 34px 0 56px; }
    .favorite-toolbar { position: sticky; top: 116px; z-index: 3; border: 1px solid #d8e2ea; background: #fff; padding: 14px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
    .favorite-toolbar label { display: inline-flex; align-items: center; gap: 8px; color: #344f6d; font-weight: 900; }
    .favorite-toolbar input { width: 17px; height: 17px; }
    .favorite-count { color: #536b84; font-size: 13px; font-weight: 800; }
    .favorite-card-list { display: grid; gap: 14px; }
    .favorite-card { display: grid; grid-template-columns: 34px 170px minmax(0,1fr) 210px; gap: 16px; align-items: center; border: 1px solid #d8e2ea; background: #fff; padding: 14px; }
    .favorite-card input[type="checkbox"] { width: 18px; height: 18px; }
    .favorite-card img { width: 170px; height: 128px; object-fit: cover; border: 1px solid #d8e2ea; }
    .favorite-card h2 { margin: 0 0 8px; color: #0968d8; font-size: 19px; line-height: 1.45; }
    .favorite-card p { margin: 0; color: #536b84; line-height: 1.7; font-size: 13px; font-weight: 700; }
    .favorite-specs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
    .favorite-specs span { border: 1px solid #d8e2ea; background: #f8fcff; padding: 5px 8px; color: #344f6d; font-size: 12px; font-weight: 800; }
    .favorite-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 16px; }
    .favorite-card-grid .favorite-card { display: grid; grid-template-columns: minmax(0,1fr); align-items: start; gap: 10px; }
    .favorite-card-grid .favorite-card > label { display: flex; align-items: center; gap: 8px; color: #344f6d; font-size: 13px; font-weight: 900; }
    .favorite-card-grid .favorite-card > label:after { content: "選択"; }
    .favorite-card-grid .favorite-card img { width: 100%; height: 150px; }
    .favorite-card-grid .favorite-card h2 { font-size: 16px; }
    .favorite-card-grid .favorite-actions { display: grid; grid-template-columns: 1fr; }
    .favorite-compare { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid #d8e2ea; }
    .favorite-compare th, .favorite-compare td { border: 1px solid #d8e2ea; padding: 12px; color: #344f6d; text-align: left; vertical-align: top; line-height: 1.6; font-size: 13px; }
    .favorite-compare th { background: #eef3f6; color: var(--navy); font-weight: 900; }
    .favorite-actions { display: grid; gap: 8px; }
    .cache-wire { background: #f7fafc; }
    .cache-layout { display: grid; gap: 18px; padding: 34px 0 56px; }
    .cache-toolbar { border: 1px solid #d8e2ea; background: #fff; padding: 14px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
    .cache-list { display: grid; gap: 14px; }
    .cache-row { display: grid; grid-template-columns: 170px minmax(0,1fr) 210px; gap: 16px; align-items: center; border: 1px solid #d8e2ea; background: #fff; padding: 14px; }
    .cache-row img { width: 170px; height: 128px; object-fit: cover; border: 1px solid #d8e2ea; }
    .cache-row h2 { margin: 0 0 8px; color: #0968d8; font-size: 19px; line-height: 1.45; }
    .cache-row p { margin: 0; color: #536b84; line-height: 1.7; font-size: 13px; font-weight: 700; }
    .cache-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
    .cache-meta span { border: 1px solid #d8e2ea; background: #f8fcff; padding: 5px 8px; color: #344f6d; font-size: 12px; font-weight: 800; }
    .cache-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 16px; }
    .cache-card { border: 1px solid #d8e2ea; background: #fff; padding: 14px; display: grid; gap: 10px; }
    .cache-card img { width: 100%; height: 150px; object-fit: cover; border: 1px solid #d8e2ea; }
    .cache-card h2 { margin: 0; color: #0968d8; font-size: 17px; line-height: 1.45; }
    .cache-card p { margin: 0; color: #536b84; line-height: 1.7; font-size: 13px; font-weight: 700; }
    .cache-compare { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid #d8e2ea; }
    .cache-compare th, .cache-compare td { border: 1px solid #d8e2ea; padding: 12px; color: #344f6d; text-align: left; vertical-align: top; line-height: 1.6; font-size: 13px; }
    .cache-compare th { background: #eef3f6; color: var(--navy); font-weight: 900; }
    .area-wire { background: #f3f7fa; }
    .area-wire--fixed-search {
      position: relative;
      background-color: #dff5ff;
      background-image: url("/img/top-section-bg-railway.png");
      background-position: center top;
      background-size: cover;
      background-repeat: no-repeat;
      background-attachment: fixed;
    }
    .area-wire--fixed-search::before {
      content: "";
      position: absolute;
      top: 0;
      left: 50%;
      z-index: 0;
      width: 100vw;
      height: 600px;
      transform: translateX(-50%);
      background: linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.82) 48%, rgba(255,255,255,0) 100%);
      pointer-events: none;
    }
    .area-wire--fixed-search > * {
      position: relative;
      z-index: 1;
    }
    .area-wire--fixed-search .area-hero {
      background: transparent;
    }
    .area-hero { padding: 0; background: #e7f8ff; border-bottom: 1px solid #cde5f2; }
    .area-hero .wrap { min-height: 160px; display: grid; grid-template-columns: minmax(0,1fr) 360px; gap: 22px; align-items: center; padding: 22px 0; }
    .area-hero h1 { margin: 0; font-size: 32px; }
    .area-hero .eyebrow { margin-bottom: 6px; }
    .area-hero .lead { margin-top: 10px; line-height: 1.65; font-size: 15px; }
    .area-count { width: 128px; height: 128px; border-radius: 50%; background: #fff; display: grid; place-items: center; text-align: center; color: #0968d8; font-size: 24px; font-weight: 900; }
    .area-count--property { justify-self: end; width: min(360px, 100%); height: auto; min-height: 96px; border-radius: 3px; padding: 18px; font-size: 16px; }
    .area-count--property > div > span { margin-bottom: 4px; font-size: 13px; }
    .area-count span { display: block; color: #536b84; font-size: 12px; }
    .area-count .area-count-number { font-size: 30px; line-height: 1.1; }
    .area-count-breakdown { display: inline-flex; flex-wrap: wrap; justify-content: center; gap: 2px 10px; color: #0968d8; font-weight: 900; line-height: 1.35; }
    .area-count-breakdown span { display: inline; color: inherit; font-size: 11px; }
    .area-count-breakdown .area-count-number { font-size: 18px; }
    .area-count .area-count-breakdown:not(.area-count-breakdown--inline) { display: grid; gap: 2px; }
    .area-count .area-count-breakdown--inline { display: inline-flex; align-items: baseline; gap: 8px; }
    .area-count .area-count-breakdown--inline span { display: inline; font-size: 16px; }
    .area-count .area-count-breakdown--inline .area-count-number { font-size: 32px; line-height: 1; }
    .area-count--property b,
    .area-count--property .area-count-breakdown,
    .area-count--property .area-count-breakdown span,
    .area-count--property .area-count-number { color: #0968d8; }
    .search-method-tabs { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 10px; margin-top: 14px; }
    .search-method-tabs a { min-height: 48px; border: 1px solid #c8dce9; background: #fff; color: #344f6d; display: grid; place-items: center; text-align: center; font-size: 13px; font-weight: 900; transition: background-color .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease, transform .16s ease; }
    .search-method-tabs a:hover,
    .search-method-tabs a:focus-visible { border-color: #0968d8; background: #eef7ff; color: #0968d8; box-shadow: 0 8px 18px rgba(9,104,216,.14); transform: translateY(-1px); outline: none; }
    .search-method-tabs a.is-current { background: #0968d8; color: #fff; }
    .search-method-tabs a.is-current:hover,
    .search-method-tabs a.is-current:focus-visible { border-color: #0754ad; background: #0754ad; color: #fff; box-shadow: 0 10px 20px rgba(9,104,216,.22); }
    .area-form { display: grid; gap: 24px; padding: 34px 0 56px; }
    .area-step-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 22px; }
    .area-box { border: 1px solid #d8e2ea; background: #fff; padding: 20px; }
    .area-box h2 { margin: 0 0 14px; color: var(--navy); font-size: 20px; }
    .area-selected-note { margin: -4px 0 14px; padding: 10px 12px; border: 1px solid #d8e2ea; background: #f8fcff; color: #344f6d; font-size: 13px; font-weight: 800; line-height: 1.6; }
    .area-selected-note b { color: #0968d8; }
    .school-switch { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 14px; }
    .school-switch label { min-height: 40px; display: inline-flex; align-items: center; gap: 8px; border: 1px solid #c8dce9; background: #fff; padding: 8px 14px; color: #344f6d; font-weight: 900; }
    .school-switch input { width: 16px; height: 16px; }
    .area-check-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; max-height: 330px; overflow: auto; padding-right: 6px; }
    .area-check-grid label { min-height: 38px; display: flex; align-items: center; gap: 8px; border: 1px solid #d8e2ea; padding: 8px 10px; color: #344f6d; font-size: 13px; font-weight: 800; }
    .area-check-grid input, .area-detail-grid input { width: 16px; height: 16px; }
    .area-search-bar { border: 1px solid #c8dce9; background: #fff; padding: 16px; display: flex; flex-wrap: wrap; gap: 14px; align-items: center; justify-content: space-between; }
    .area-search-count-label { display: inline-flex; align-items: baseline; gap: 10px; font-size: 16px; }
    .area-search-bar strong { color: #0968d8; font-size: 24px; }
    .area-count-unit { margin-left: .25em; font-size: 12px; }
    .area-search-bar strong .area-count-unit { font-size: 1rem; }
    .area-search-bar strong .area-count-breakdown--inline { align-items: baseline; gap: 8px; font-size: 16px; }
    .area-search-bar strong .area-count-breakdown--inline span { font-size: 16px; }
    .area-search-bar strong .area-count-breakdown--inline .area-count-number { font-size: 32px; line-height: 1; }
    .area-search-bar .button-row { margin-top: 0; }
    .area-search-bar--fixed .button-row { flex-wrap: nowrap; }
    .area-search-bar--fixed .button-row > * { flex: 1 1 0; min-width: 0; white-space: nowrap; }
    .area-search-bar--fixed .primary-btn,
    .area-search-bar--fixed .secondary-btn { gap: 8px; border-radius: 3px; font-weight: 900; box-shadow: 0 10px 22px rgba(8,40,93,.1); }
    .area-search-bar--fixed .primary-btn { border: 1px solid #0968d8; background: #0968d8; color: #fff; }
    .area-search-bar--fixed .secondary-btn { border: 1px solid #9ccbec; background: #f6fbff; color: #08285d; }
    .area-wire--fixed-search .area-form { padding-bottom: 152px; }
    .area-wire--fixed-search .area-search-bar--fixed { position: fixed; left: 0; right: 0; bottom: 0; z-index: 80; width: 100vw; max-width: none; display: block; border-right: 0; border-bottom: 0; border-left: 0; border-radius: 0; box-shadow: 0 -10px 30px rgba(8,40,93,.16); }
    .area-wire--fixed-search .area-search-bar--fixed.is-stopped { position: absolute; left: 50%; right: auto; bottom: 0; transform: translateX(-50%); }
    .area-search-bar__inner { width: min(1200px, calc(100% - 40px)); margin: 0 auto; padding: 16px 0; display: flex; flex-wrap: wrap; gap: 14px; align-items: center; justify-content: space-between; }
    .area-detail-grid { display: grid; }
    .area-detail-section { border: 1px solid #c8dce9; border-radius: 3px; background: #fff; overflow: hidden; }
    .area-detail-section + .area-detail-section { margin-top: 16px; }
    .area-detail-section__title { margin: 0; padding: 12px 14px; background: #f1f8ff; color: var(--navy); font-size: 16px; font-weight: 900; border-bottom: 1px solid #dbe8f1; }
    .area-detail-section__title span { display: inline-flex; align-items: center; min-height: 24px; border-radius: 3px; background: #0968d8; color: #fff; padding: 0 8px; margin-right: 8px; font-size: 11px; line-height: 1; font-weight: 900; }
    .area-detail-section__body { display: grid; padding: 0 14px; }
    .area-detail-row { display: grid; grid-template-columns: 150px minmax(0,1fr); gap: 14px; border-bottom: 1px solid #e5edf3; padding: 12px 0; align-items: center; }
    .area-detail-section__body .area-detail-row:last-child { border-bottom: 0; }
    .area-detail-row h3 { margin: 0; color: #344f6d; font-size: 16px; }
    .area-options { display: flex; flex-wrap: wrap; gap: 10px 16px; }
    .area-options--brand { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 8px 12px; }
    .area-options label { display: inline-flex; align-items: center; gap: 6px; color: #344f6d; font-size: 15px; font-weight: 800; }
    .area-options--facility-grid { display: block; max-height: none; overflow: visible; }
    .area-options--facility-grid .area-facility-category + .area-facility-category { margin-top: 10px; }
    .area-facility-category { min-width: 0; padding-left: 10px; border-left: 3px solid #c8dce9; }
    .area-facility-category h4 { margin: 0 0 12px; padding: 6px 9px; border-radius: 3px; background: #f4f9fd; color: var(--navy); font-size: 14px; font-weight: 900; line-height: 1.3; }
    .area-facility-category__options { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px 10px; }
    .area-facility-category__options label { min-height: 24px; align-items: flex-start; font-size: 13px; line-height: 1.35; }
    .area-options select { font-size: 15px; }
    .area-selection-card { border: 1px solid #c8dce9; background: #fff; padding: 20px; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 18px; align-items: start; }
    .area-selection-card__content { min-width: 0; display: contents; }
    .area-selection-card h2 { grid-column: 1; grid-row: 1; margin: 0; color: var(--navy); font-size: 20px; line-height: 1.45; }
    .area-section-title { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin: 0 0 16px; padding: 14px 16px 14px 18px; border: 1px solid #c8dce9; border-left: 4px solid #0968d8; border-radius: 3px; background: linear-gradient(90deg, #f1f8ff 0%, #fff 74%); color: var(--navy); box-shadow: 0 8px 18px rgba(8,40,93,.06); font-size: 20px; line-height: 1.35; }
    .area-box .area-section-title { margin-bottom: 16px; }
    .area-selection-card .area-section-title { grid-column: 1; grid-row: 1; margin: 0; }
    .area-step-badge { display: inline-flex; align-items: center; justify-content: center; min-height: 26px; padding: 0 10px; border-radius: 3px; background: #0968d8; color: #fff; font-size: 12px; line-height: 1; font-weight: 900; letter-spacing: .03em; white-space: nowrap; }
    .area-title-text { color: var(--navy); font-size: 20px; font-weight: 900; }
    .area-step-arrow { color: #7f95ab; font-size: 18px; font-weight: 900; line-height: 1; }
    .area-selection-card > .primary-btn { grid-column: 2; grid-row: 1; justify-self: end; align-self: center; }
    .area-selection-card > span { display: none; }
    .area-selection-card [data-area-summary],
    .area-selection-card [data-linked-summary],
    .area-selection-card p { grid-column: 1 / -1; grid-row: 2; margin: 0; color: #536b84; line-height: 1.7; font-weight: 800; }
    .area-selected-value { color: #0968d8; font-weight: 900; }
    .area-summary-heading { margin-bottom: 10px; color: var(--navy); font-size: 14px; font-weight: 900; }
    .area-selected-groups { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; }
    .area-selected-group { border: 1px solid #c8dce9; border-radius: 3px; background: #f8fcff; padding: 10px; }
    .area-selected-group__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px; color: var(--navy); font-size: 13px; font-weight: 900; }
    .area-selected-group__head b { color: #0968d8; font-size: 13px; white-space: nowrap; }
    .area-selected-group__towns { display: flex; flex-wrap: wrap; gap: 6px; }
    .area-selected-group__towns span { display: inline-flex; align-items: center; min-height: 28px; border: 1px solid #d8e7f2; border-radius: 3px; background: #fff; padding: 4px 9px; color: #344f6d; font-size: 12px; font-weight: 800; }
    .area-summary-next { margin-top: 10px; color: #536b84; font-size: 13px; }
    body.area-popup-lock { overflow: hidden; }
    .area-popup { position: fixed; inset: 0; z-index: 100; display: none; align-items: center; justify-content: center; padding: 24px; background: rgba(8,40,93,.42); }
    .area-popup.is-open { display: flex; }
    .area-popup__dialog { width: min(720px, 100%); max-height: min(760px, calc(100vh - 48px)); overflow: hidden; border: 1px solid #c8dce9; border-radius: 3px; background: #fff; box-shadow: 0 22px 60px rgba(8,40,93,.24); display: grid; grid-template-rows: auto minmax(0,1fr); }
    .area-popup__head { display: flex; justify-content: space-between; gap: 16px; align-items: start; padding: 20px 22px; border-bottom: 1px solid #e2edf5; background: #f8fcff; }
    .area-popup__head > div { min-width: 0; }
    .area-popup__head h2 { margin: 0; color: var(--navy); font-size: 22px; line-height: 1.25; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; }
    .area-popup__step-label { display: inline-flex; align-items: center; justify-content: center; min-height: 28px; padding: 0 10px; border-radius: 3px; background: #0968d8; color: #fff; font-size: 12px; line-height: 1; font-weight: 900; letter-spacing: .04em; white-space: nowrap; box-shadow: 0 8px 16px rgba(9,104,216,.18); }
    .area-popup__title-text { color: var(--navy); font-size: 24px; font-weight: 900; }
    .area-popup__head p { margin: 6px 0 0; color: #536b84; line-height: 1.6; font-size: 13px; font-weight: 800; }
    .area-popup__top-link { margin-left: auto; min-height: 40px; padding: 0 14px; font-size: 13px; white-space: nowrap; flex: 0 0 auto; }
    .area-popup__close { min-width: 40px; height: 40px; border: 1px solid #c8dce9; border-radius: 50%; background: #fff; color: var(--navy); font-size: 22px; font-weight: 900; cursor: pointer; transition: background-color .16s ease, border-color .16s ease, color .16s ease, transform .16s ease, box-shadow .16s ease; }
    .area-popup__close:not(:disabled):hover,
    .area-popup__close:not(:disabled):focus-visible { border-color: #0968d8; background: #f1f8ff; color: #0968d8; box-shadow: 0 8px 18px rgba(9,104,216,.14); transform: translateY(-1px); outline: none; }
    .area-popup__close:disabled { opacity: .42; }
    .area-popup__body { min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
    .area-popup__pane { min-height: 0; overflow: visible; padding: 20px; }
    .area-popup__pane[hidden] { display: none; }
    .area-popup__pane h3 { margin: 0 0 12px; color: #344f6d; font-size: 15px; }
    .area-popup__list { display: grid; gap: 8px; }
    .area-popup__wards { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .area-choice-button { width: 100%; min-height: 42px; border: 1px solid #d8e2ea; border-radius: 3px; background: #fff; color: #344f6d; font: inherit; font-size: 13px; font-weight: 900; text-align: left; padding: 9px 11px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 12px; transition: background-color .16s ease, border-color .16s ease, color .16s ease, transform .16s ease, box-shadow .16s ease; }
    .area-choice-button:hover,
    .area-choice-button:focus-visible { border-color: #0968d8; background: #f1f8ff; color: #0968d8; box-shadow: 0 6px 14px rgba(9,104,216,.12); transform: translateY(-1px); outline: none; }
    .area-choice-button.is-active { border-color: #0968d8; background: #eef7ff; color: #0968d8; }
    .area-choice-button b { color: inherit; font-size: 12px; white-space: nowrap; }
    .area-popup__towns { grid-template-columns: minmax(0,1fr); gap: 14px; }
    .area-town-group,
    .wireframe-mode .area-town-group { border: 1px solid #c8dce9; background: #f4f9fd; padding: 12px; display: grid; gap: 10px; }
    .area-town-group__head { margin: -12px -12px 0; padding: 10px 12px; display: flex; align-items: center; justify-content: space-between; gap: 12px; background: #e8f3fb; color: var(--navy); font-size: 14px; font-weight: 900; }
    .area-town-group__head b { color: #0968d8; font-size: 12px; white-space: nowrap; }
    .area-town-group__list { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; }
    .area-popup__note { margin: 12px 0 0; padding: 10px 12px; border: 1px solid #d8e2ea; background: #f8fcff; color: #536b84; font-size: 12px; line-height: 1.6; font-weight: 800; }
    [data-area-town-pane] .area-popup__note { margin-bottom: 18px; }
    .area-popup__back { margin: 0 0 14px; min-height: 38px; border: 1px solid #c8dce9; border-radius: 3px; background: #fff; color: #0968d8; font: inherit; font-size: 13px; font-weight: 900; padding: 8px 12px; cursor: pointer; }
    .area-popup__actions { position: sticky; bottom: 0; margin: 16px -20px -20px; padding: 14px 20px; border-top: 1px solid #e2edf5; background: linear-gradient(180deg, rgba(255,255,255,.94), #fff); display: flex; justify-content: flex-end; gap: 10px; box-shadow: 0 -10px 24px rgba(8,40,93,.06); }
    .area-popup__actions .primary-btn,
    .area-popup__actions .secondary-btn { min-height: 56px; border-radius: 3px; padding: 0 18px; white-space: nowrap; gap: 8px; font-size: 15px; letter-spacing: .01em; box-shadow: 0 8px 18px rgba(8,40,93,.08); }
    .area-popup__actions .primary-btn { border: 1px solid #0968d8; background: #0968d8; color: #fff; }
    .area-popup__actions .secondary-btn { border-color: #9ccbec; background: #eef7ff; color: #08285d; }
    .area-popup__actions .secondary-btn::before { content: "✓"; width: 22px; height: 22px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: #0968d8; color: #fff; font-size: 13px; line-height: 1; font-weight: 900; flex: 0 0 auto; }
    .area-popup__actions .primary-btn::after { content: "›"; margin-left: 2px; color: inherit; font-size: 22px; line-height: 1; font-weight: 900; }
    .area-popup__actions .primary-btn:disabled,
    .area-popup__actions .secondary-btn:disabled { opacity: .48; cursor: not-allowed; box-shadow: none; }
    .area-detail-lock { margin: 0 0 14px; padding: 10px 12px; border: 1px solid #f0d38c; background: #fff9e7; color: #7b5a08; font-size: 14px; line-height: 1.6; font-weight: 800; }
    .area-detail-fieldset { min-width: 0; border: 0; margin: 0; padding: 0; }
    .area-detail-fieldset:disabled { opacity: .48; }
    .area-variant-b .area-step-grid { grid-template-columns: minmax(0,1fr); }
    .area-variant-b .area-check-grid { max-height: none; grid-template-columns: repeat(3, minmax(0,1fr)); }
    .area-variant-c .area-form { grid-template-columns: 310px minmax(0,1fr); align-items: start; }
    .area-variant-c .area-search-bar { position: sticky; top: 116px; }
    .area-variant-c .area-main { display: grid; gap: 22px; }
    .area-wire--fixed-search.area-variant-c .area-form { grid-template-columns: minmax(0,1fr); }
    .area-wire--fixed-search.area-variant-c .area-search-bar--fixed { position: fixed; top: auto; }
    .document-wire { background: #f3f6f8; }
    .document-wrap { width: min(980px, calc(100% - 40px)); margin: 0 auto; }
    .document-main { padding: 44px 0 70px; display: grid; gap: 24px; }
    .document-title { margin: 0; padding: 22px 26px; background: #333; color: #fff; font-size: 28px; line-height: 1.4; }
    .document-panel { border: 1px solid #d8e2ea; background: #fff; padding: 26px; }
    .document-panel h2 { margin: 0 0 14px; color: var(--navy); font-size: 20px; }
    .document-panel p { margin: 0 0 12px; color: #273d55; line-height: 1.9; font-weight: 700; }
    .document-actions { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; margin-top: 18px; }
    .document-note-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; }
    .document-variant-b .document-main { grid-template-columns: 320px minmax(0,1fr); align-items: start; }
    .document-variant-b .document-title { grid-column: 1 / -1; }
    .document-variant-b .document-actions { position: sticky; top: 116px; margin-top: 0; }
    .document-variant-c .document-main { width: min(760px, calc(100% - 40px)); margin: 0 auto; grid-template-columns: minmax(0,1fr); }
    .document-flow { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; }
    .document-flow .panel { box-shadow: none; }
    .owner-wire {
      background:
        linear-gradient(180deg, #f7fbfe 0%, #edf6fb 38%, #f8fbfd 100%);
      color: #17355f;
      overflow: hidden;
    }
    .owner-hero {
      position: relative;
      isolation: isolate;
      background:
        linear-gradient(90deg, rgba(5,22,55,.94) 0%, rgba(5,28,66,.82) 43%, rgba(5,28,66,.2) 100%),
        url("/img/company/owner/owner-hero-consultation.webp") center/cover no-repeat;
      border-bottom: 1px solid rgba(255,255,255,.18);
      color: #fff;
    }
    .owner-hero:after {
      content: "";
      position: absolute;
      inset: auto 0 0;
      height: 118px;
      background: linear-gradient(180deg, rgba(247,251,254,0), #f7fbfe);
      z-index: -1;
    }
    .owner-hero .wrap {
      min-height: 520px;
      display: grid;
      grid-template-columns: minmax(0,1fr) minmax(320px, 420px);
      gap: 44px;
      align-items: center;
      padding: 58px 0 78px;
    }
    .owner-hero .eyebrow {
      width: max-content;
      max-width: 100%;
      padding: 7px 11px;
      border: 1px solid rgba(255,255,255,.32);
      background: rgba(255,255,255,.12);
      color: #8de0ff;
      font-size: 12px;
      line-height: 1.2;
      backdrop-filter: blur(10px);
    }
    .owner-hero h1 {
      color: #fff;
      font-size: clamp(40px, 5vw, 68px);
      line-height: 1.12;
      text-shadow: 0 16px 42px rgba(0,0,0,.24);
    }
    .owner-hero .lead {
      max-width: 680px;
      color: rgba(255,255,255,.9);
      font-size: 21px;
      line-height: 1.9;
    }
    .owner-hero .chips { margin-top: 28px; gap: 12px; }
    .owner-hero .chip {
      min-height: 36px;
      border-radius: 3px;
      border-color: rgba(141,224,255,.38);
      background: rgba(255,255,255,.1);
      color: #fff;
      box-shadow: inset 0 1px 0 rgba(255,255,255,.12);
      backdrop-filter: blur(10px);
    }
    .owner-section {
      position: relative;
      padding: 70px 0;
    }
    .owner-section.alt {
      background:
        linear-gradient(180deg, rgba(255,255,255,.88), rgba(238,247,252,.88));
      border-block: 1px solid rgba(189,213,228,.46);
    }
    .owner-section .section-head {
      margin-bottom: 28px;
      padding-left: 18px;
      border-left: 4px solid var(--red);
    }
    .owner-section .section-head h2 {
      font-size: clamp(26px, 3vw, 40px);
      line-height: 1.3;
    }
    .owner-section .section-head p {
      color: #45647f;
      font-size: 15px;
    }
    .owner-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 22px; }
    .owner-card {
      min-width: 0;
      border: 1px solid rgba(184,210,226,.82);
      border-radius: 3px;
      background: rgba(255,255,255,.94);
      padding: 26px;
      box-shadow: 0 18px 44px rgba(8,40,93,.08);
    }
    .owner-card h2, .owner-card h3 { margin: 0 0 12px; color: var(--navy); line-height: 1.45; }
    .owner-card h2 { font-size: 21px; }
    .owner-card h3 { font-size: 18px; }
    .owner-card p, .owner-card li { color: #496780; line-height: 1.9; font-weight: 700; }
    .owner-card ul { margin: 0; padding-left: 1.2em; }
    .owner-card--accent {
      border: 1px solid rgba(255,255,255,.26);
      border-top: 5px solid var(--red);
      border-radius: 0;
      background: rgba(255,255,255,.93);
      box-shadow: 0 28px 70px rgba(0,0,0,.24);
      backdrop-filter: blur(18px);
    }
    .owner-card--accent h2 { color: var(--navy); font-size: 24px; }
    .owner-card--accent .button-row { gap: 10px; }
    .owner-card--check {
      position: relative;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      gap: 16px;
      min-height: 302px;
      overflow: hidden;
      text-decoration: none;
      transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
    }
    .owner-card--check:after {
      content: "";
      position: absolute;
      right: 20px;
      bottom: 20px;
      width: 30px;
      height: 30px;
      border-radius: 50%;
      border: 1px solid rgba(9,104,216,.22);
      background:
        linear-gradient(135deg, #fff 0%, #eef8ff 100%);
      box-shadow: 0 10px 22px rgba(8,40,93,.08);
    }
    .owner-card--check p {
      margin: auto 42px 0 0;
      color: #0968d8;
      font-size: 13px;
      font-weight: 900;
    }
    .owner-card--check:hover,
    .owner-card--check:focus-visible {
      border-color: rgba(9,104,216,.45);
      box-shadow: 0 24px 60px rgba(8,40,93,.14);
      transform: translateY(-3px);
      outline: none;
    }
    .owner-menu-thumb {
      display: block;
      height: 154px;
      margin: -26px -26px 20px;
      overflow: hidden;
      background: #eef7fc;
    }
    .owner-menu-thumb img, .owner-card-media img, .owner-visual-media img, .owner-wide-visual img { width: 100%; height: 100%; object-fit: cover; }
    .owner-card--check img, .owner-feature-card img, .owner-visual-media img, .owner-wide-visual img { transition: transform .32s ease, filter .32s ease; }
    .owner-card--check:hover img, .owner-card--check:focus-visible img, .owner-feature-card:hover img { transform: scale(1.04); filter: saturate(1.05); }
    .owner-problem-list { gap: 14px; }
    .owner-problem-list .owner-card {
      position: relative;
      padding-left: 22px;
      border-left: 4px solid var(--cyan);
      border-radius: 0;
      box-shadow: 0 12px 30px rgba(8,40,93,.06);
    }
    .owner-feature-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .owner-feature-card {
      overflow: hidden;
      padding: 0;
      border: 0;
      background: #fff;
    }
    .owner-feature-body { position: relative; padding: 30px 28px 30px 94px; }
    .owner-feature-icon {
      position: absolute;
      top: 30px;
      left: 28px;
      width: 46px;
      height: 46px;
      border-radius: 50%;
      background: linear-gradient(135deg, #0968d8, #12a8d8);
      color: #fff;
      display: grid;
      place-items: center;
      font-weight: 900;
      box-shadow: 0 16px 30px rgba(9,104,216,.24);
    }
    .owner-card-media {
      height: 244px;
      border-bottom: 1px solid rgba(216,226,234,.9);
      background: #eef7fc;
      overflow: hidden;
    }
    .owner-visual-split { display: grid; grid-template-columns: minmax(0,1fr) minmax(360px,.92fr); gap: 34px; align-items: stretch; }
    .owner-visual-split > * { min-width: 0; }
    .owner-visual-media, .owner-wide-visual {
      overflow: hidden;
      border: 1px solid rgba(184,210,226,.82);
      border-radius: 3px;
      background: #eef7fc;
      box-shadow: 0 24px 54px rgba(8,40,93,.12);
    }
    .owner-visual-media { min-height: 100%; }
    .owner-wide-visual { height: 320px; margin-bottom: 26px; }
    .owner-flow { display: grid; grid-template-columns: repeat(6, minmax(0,1fr)); gap: 12px; counter-reset: ownerFlow; }
    .owner-flow .owner-card {
      position: relative;
      min-height: 138px;
      padding: 52px 18px 18px;
      border-color: rgba(9,104,216,.18);
      background:
        linear-gradient(180deg, #fff 0%, #f7fbff 100%);
    }
    .owner-flow .owner-card:before {
      counter-increment: ownerFlow;
      content: counter(ownerFlow, decimal-leading-zero);
      position: absolute;
      top: 16px;
      left: 18px;
      color: #0968d8;
      font-size: 13px;
      font-weight: 900;
    }
    .owner-flow .eyebrow { display: none; }
    .owner-flow-heading {
      margin: 30px 0 14px;
      color: var(--navy);
      font-size: 21px;
    }
    .owner-flow-heading:first-of-type { margin-top: 0; }
    .owner-table-wrap {
      width: 100%;
      overflow-x: auto;
      border-radius: 3px;
      box-shadow: 0 18px 44px rgba(8,40,93,.08);
    }
    .owner-table {
      width: 100%;
      min-width: 760px;
      border-collapse: separate;
      border-spacing: 0;
      background: #fff;
      border: 1px solid rgba(184,210,226,.82);
    }
    .owner-table th, .owner-table td {
      border: 0;
      border-right: 1px solid rgba(216,226,234,.92);
      border-bottom: 1px solid rgba(216,226,234,.92);
      padding: 15px 16px;
      text-align: left;
      vertical-align: top;
      color: #344f6d;
      line-height: 1.75;
      font-size: 13px;
    }
    .owner-table tr:last-child > * { border-bottom: 0; }
    .owner-table tr > *:last-child { border-right: 0; }
    .owner-table th {
      background: #eef6fb;
      color: var(--navy);
      font-weight: 900;
    }
    .owner-table thead th {
      background: linear-gradient(135deg, #08285d 0%, #0d4b8c 100%);
      color: #fff;
    }
    .owner-table tbody tr:nth-child(even) td { background: #f8fbfd; }
    .owner-cta {
      margin-top: 28px;
      border: 1px solid rgba(255,255,255,.3);
      border-radius: 3px;
      background:
        linear-gradient(135deg, #08285d 0%, #0a4380 58%, #0c6790 100%);
      padding: 30px;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: space-between;
      gap: 22px;
      overflow: hidden;
      box-shadow: 0 22px 50px rgba(8,40,93,.16);
    }
    .owner-cta h2, .owner-cta p { color: #fff; }
    .owner-cta p { color: rgba(255,255,255,.82); }
    .owner-spaced { margin-top: 22px; }
    .wireframe-mode .owner-wire {
      background:
        linear-gradient(180deg, #f7fbfe 0%, #edf6fb 38%, #f8fbfd 100%);
    }
    .wireframe-mode .owner-wire .owner-hero {
      background:
        linear-gradient(90deg, rgba(5,22,55,.94) 0%, rgba(5,28,66,.82) 43%, rgba(5,28,66,.2) 100%),
        url("/img/company/owner/owner-hero-consultation.webp") center/cover no-repeat;
    }
    .wireframe-mode .owner-wire .owner-hero h1 { color: #fff; font-size: clamp(40px, 5vw, 68px); }
    .wireframe-mode .owner-wire .owner-hero .lead { color: rgba(255,255,255,.9); }
    .wireframe-mode .owner-wire .owner-hero .chip {
      border-color: rgba(141,224,255,.38);
      background: rgba(255,255,255,.1);
      color: #fff;
    }
    .wireframe-mode .owner-wire .owner-section.alt {
      background:
        linear-gradient(180deg, rgba(255,255,255,.88), rgba(238,247,252,.88));
    }
    .wireframe-mode .owner-wire .primary-btn {
      border: 0;
      background: var(--red);
      color: #fff;
      box-shadow: 0 16px 34px rgba(232,74,82,.22);
    }
    .wireframe-mode .owner-wire .secondary-btn {
      border: 1px solid rgba(9,104,216,.22);
      background: #fff;
      color: var(--navy);
    }
    .wireframe-mode .owner-wire .owner-cta .primary-btn {
      background: #fff;
      color: var(--navy);
      box-shadow: 0 16px 34px rgba(0,0,0,.14);
    }
    .owner-copy-card h3 { margin-top: 22px; }
    .owner-copy-card h3:first-child { margin-top: 0; }
    .owner-cta > div, .brand-cta > div { flex: 1 1 320px; min-width: 0; }
    .owner-cta .primary-btn, .brand-cta .primary-btn { flex: 0 1 260px; min-width: 180px; }
    .owner-variant-b .owner-hero .wrap { grid-template-columns: minmax(0,1fr); }
    .owner-variant-b .owner-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .owner-variant-c .owner-layout { display: grid; grid-template-columns: 300px minmax(0,1fr); gap: 24px; align-items: start; }
    .owner-variant-c .owner-side { position: sticky; top: 116px; display: grid; gap: 14px; }
    .brand-wire {
      --brand-ink: #181824;
      --brand-night: #0d0e18;
      --brand-gold: #c9a057;
      --brand-paper: #fffaf0;
      --brand-muted: #5e6072;
      background: #f5f2ec;
      color: var(--brand-ink);
      font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Sans JP", serif;
    }
    .brand-wire .brand-hero {
      color: #fff;
      background:
        radial-gradient(circle at 76% 24%, rgba(240, 192, 112, .16), transparent 26%),
        linear-gradient(100deg, rgba(8, 10, 18, .80) 0%, rgba(8, 10, 18, .70) 18%, rgba(8, 10, 18, .46) 42%, rgba(8, 10, 18, .18) 66%, rgba(8, 10, 18, .06) 100%),
        url('/img/brand-hero-bg.png?v=20260604b') center center / cover no-repeat;
      overflow: hidden;
      position: relative;
      isolation: isolate;
      min-height: 680px;
      border-bottom: 1px solid rgba(201,160,87,.22);
      box-shadow: inset 0 -1px 0 rgba(255,255,255,.08);
    }
    .brand-hero:before,
    .brand-hero:after {
      content: "";
      position: absolute;
      pointer-events: none;
    }
    .brand-hero:before {
      inset: 18px;
      border: 1px solid rgba(201,160,87,.20);
      animation: brandFramePulse 9s ease-in-out infinite;
    }
    .brand-hero:after {
      right: -120px;
      bottom: -180px;
      width: 420px;
      height: 420px;
      border: 1px solid rgba(201,160,87,.20);
      border-radius: 50%;
      opacity: .85;
      animation: brandOrbDrift 14s ease-in-out infinite;
    }
    .brand-hero .wrap {
      min-height: 680px;
      display: grid;
      grid-template-columns: minmax(0, 1.03fr) minmax(260px, .62fr);
      gap: 28px;
      align-items: end;
      padding: 74px 0 82px;
      position: relative;
      z-index: 1;
      overflow: hidden;
    }
    .brand-hero .wrap:before {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(120deg, transparent 46%, rgba(201,160,87,.12) 50%, transparent 54%);
      transform: translateX(-130%);
      mix-blend-mode: screen;
      pointer-events: none;
      animation: brandSweep 8.5s ease-in-out infinite;
    }
    .brand-hero__copy {
      width: min(640px, 100%);
      padding: 30px 30px 26px;
      position: relative;
      background: linear-gradient(180deg, rgba(8, 10, 18, .66), rgba(8, 10, 18, .34));
      border: 1px solid rgba(201,160,87,.18);
      box-shadow: 0 18px 52px rgba(4, 8, 16, .22);
      backdrop-filter: blur(6px);
      animation: brandCopyEnter .95s cubic-bezier(.16, .84, .22, 1) .08s both;
    }
    .brand-hero__copy:before {
      content: "";
      position: absolute;
      inset: 16px 16px auto;
      height: 1px;
      background: linear-gradient(90deg, transparent 0%, rgba(201,160,87,.42) 18%, rgba(255,255,255,.08) 50%, rgba(201,160,87,.42) 82%, transparent 100%);
    }
    .brand-hero__eyebrow {
      margin: 0 0 14px;
      color: var(--brand-gold);
      font-size: 12px;
      line-height: 1.4;
      letter-spacing: .28em;
      font-weight: 700;
      animation: brandFadeUp .7s ease .12s both;
    }
    .brand-hero h1 {
      margin: 0;
      color: #fff;
      font-size: clamp(40px, 5.1vw, 64px);
      line-height: 1.04;
      letter-spacing: .08em;
      font-weight: 700;
      font-feature-settings: "palt";
      text-shadow: 0 6px 28px rgba(0, 0, 0, .38);
    }
    .brand-hero__line {
      display: block;
      animation: brandLineRise .85s cubic-bezier(.16, .84, .22, 1) both;
    }
    .brand-hero__line:nth-of-type(1) { animation-delay: .18s; }
    .brand-hero__line:nth-of-type(2) { animation-delay: .28s; }
    .brand-hero__lead {
      margin: 24px 0 0;
      color: rgba(255,255,255,.88);
      max-width: 520px;
      font-size: 16px;
      line-height: 2.1;
      letter-spacing: .04em;
      font-weight: 600;
      text-shadow: 0 2px 16px rgba(0, 0, 0, .3);
      animation: brandFadeUp .8s ease .38s both;
    }
    .brand-hero__chips {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin-top: 22px;
      animation: brandFadeUp .8s ease .52s both;
    }
    .brand-hero__chip {
      display: inline-flex;
      align-items: center;
      min-height: 34px;
      padding: 0 14px;
      border: 1px solid rgba(201,160,87,.44);
      background: rgba(255,255,255,.07);
      border-radius: 999px;
      color: rgba(255,255,255,.94);
      font-size: 12px;
      line-height: 1;
      letter-spacing: .06em;
      font-weight: 700;
      backdrop-filter: blur(4px);
      animation: brandChipPop .75s cubic-bezier(.2, .85, .2, 1) both;
    }
    .brand-hero__chip:nth-child(1) { animation-delay: .58s; }
    .brand-hero__chip:nth-child(2) { animation-delay: .68s; }
    .brand-hero__chip:nth-child(3) { animation-delay: .78s; }
    .brand-hero__stats {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 12px;
      margin-top: 22px;
      animation: brandFadeUp .8s ease .62s both;
    }
    .brand-hero__stat {
      padding: 14px 16px 12px;
      border: 1px solid rgba(201,160,87,.3);
      background: rgba(255,255,255,.05);
      backdrop-filter: blur(4px);
      animation: brandStatLift .75s cubic-bezier(.2, .85, .2, 1) both;
    }
    .brand-hero__stat:nth-child(1) { animation-delay: .68s; }
    .brand-hero__stat:nth-child(2) { animation-delay: .76s; }
    .brand-hero__stat:nth-child(3) { animation-delay: .84s; }
    .brand-hero__stat strong {
      display: block;
      color: #f1d19a;
      font-size: 13px;
      line-height: 1.4;
      letter-spacing: .12em;
      font-weight: 700;
      text-transform: uppercase;
    }
    .brand-hero__stat span {
      display: block;
      margin-top: 6px;
      color: rgba(255,255,255,.82);
      font-size: 12px;
      line-height: 1.6;
      letter-spacing: .03em;
      font-weight: 600;
    }
    .brand-hero__actions {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      margin-top: 24px;
      animation: brandFadeUp .8s ease .74s both;
    }
    .brand-hero .primary-btn,
    .brand-hero .secondary-btn {
      min-width: 200px;
      letter-spacing: .04em;
    }
    .brand-hero .primary-btn {
      border: 1px solid rgba(201,160,87,.78);
      background: linear-gradient(135deg, #d6b06d 0%, #b68a44 100%);
      color: #11131d;
      box-shadow: 0 16px 30px rgba(201,160,87,.18);
    }
    .brand-hero .primary-btn:not(:disabled):hover,
    .brand-hero .primary-btn:not(:disabled):focus-visible {
      background: linear-gradient(135deg, #e0c07f 0%, #c69a52 100%);
      color: #10131a;
      box-shadow: 0 18px 34px rgba(201,160,87,.24);
    }
    .brand-hero .secondary-btn {
      border: 1px solid rgba(255,255,255,.28);
      background: rgba(255,255,255,.06);
      color: #fff;
      box-shadow: 0 14px 26px rgba(4, 8, 16, .14);
    }
    .brand-hero .secondary-btn:not(:disabled):hover,
    .brand-hero .secondary-btn:not(:disabled):focus-visible {
      border-color: rgba(201,160,87,.58);
      background: rgba(201,160,87,.16);
      color: #fff;
      box-shadow: 0 18px 30px rgba(4, 8, 16, .18);
    }
    .brand-hero__panel {
      align-self: end;
      display: flex;
      flex-direction: column;
      justify-content: center;
      gap: 16px;
      max-width: 380px;
      padding: 24px 22px 22px;
      border: 1px solid rgba(201,160,87,.20);
      background: linear-gradient(180deg, rgba(12,14,24,.66), rgba(18,21,34,.50));
      box-shadow: 0 18px 44px rgba(2, 4, 10, .22);
      color: #fff;
      backdrop-filter: blur(8px);
      position: relative;
      overflow: hidden;
      animation: brandPanelEnter 1s cubic-bezier(.16, .84, .22, 1) .18s both;
    }
    .brand-hero__panel:before {
      content: "";
      position: absolute;
      top: -40px;
      right: -40px;
      width: 180px;
      height: 180px;
      border: 1px solid rgba(201,160,87,.14);
      border-radius: 50%;
      opacity: .8;
    }
    .brand-hero__panel-kicker {
      margin: 0;
      color: var(--brand-gold);
      font-size: 12px;
      line-height: 1.4;
      letter-spacing: .24em;
      font-weight: 700;
      animation: brandFadeUp .75s ease .28s both;
    }
    .brand-hero__panel-title {
      margin: 0;
      color: #fff;
      font-size: 22px;
      line-height: 1.45;
      letter-spacing: .08em;
      font-weight: 700;
      position: relative;
      z-index: 1;
      animation: brandFadeUp .75s ease .36s both;
    }
    .brand-hero__panel-list {
      display: grid;
      gap: 14px;
      margin: 0;
      padding: 0;
      list-style: none;
    }
    .brand-hero__panel-list li {
      padding: 14px 14px 14px 16px;
      border-left: 3px solid var(--brand-gold);
      background: rgba(255,255,255,.04);
      position: relative;
      z-index: 1;
      animation: brandPanelItemEnter .75s cubic-bezier(.2, .85, .2, 1) both;
    }
    .brand-hero__panel-list li:nth-child(1) { animation-delay: .46s; }
    .brand-hero__panel-list li:nth-child(2) { animation-delay: .56s; }
    .brand-hero__panel-list li:nth-child(3) { animation-delay: .66s; }
    .brand-hero__panel-list strong {
      display: block;
      margin: 0 0 6px;
      color: #fff;
      font-size: 14px;
      line-height: 1.6;
      letter-spacing: .06em;
      font-weight: 700;
    }
    .brand-hero__panel-list span {
      display: block;
      color: rgba(255,255,255,.74);
      font-size: 13px;
      line-height: 1.9;
      letter-spacing: .03em;
      font-weight: 600;
    }
    #brand-list {
      scroll-margin-top: 110px;
    }
    @keyframes brandCopyEnter {
      from {
        opacity: 0;
        transform: translate3d(0, 24px, 0) scale(.985);
      }
      to {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale(1);
      }
    }
    @keyframes brandPanelEnter {
      from {
        opacity: 0;
        transform: translate3d(34px, 0, 0) scale(.98);
      }
      to {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale(1);
      }
    }
    @keyframes brandFadeUp {
      from {
        opacity: 0;
        transform: translate3d(0, 14px, 0);
      }
      to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
      }
    }
    @keyframes brandLineRise {
      from {
        opacity: 0;
        transform: translate3d(0, 18px, 0);
      }
      to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
      }
    }
    @keyframes brandChipPop {
      from {
        opacity: 0;
        transform: translate3d(0, 10px, 0) scale(.96);
      }
      to {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale(1);
      }
    }
    @keyframes brandStatLift {
      from {
        opacity: 0;
        transform: translate3d(0, 18px, 0);
      }
      to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
      }
    }
    @keyframes brandPanelItemEnter {
      from {
        opacity: 0;
        transform: translate3d(0, 14px, 0);
      }
      to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
      }
    }
    @keyframes brandFramePulse {
      0%, 100% { opacity: .42; }
      50% { opacity: .86; }
    }
    @keyframes brandOrbDrift {
      0%, 100% { transform: translate3d(0, 0, 0) scale(1); opacity: .7; }
      50% { transform: translate3d(-14px, -10px, 0) scale(1.04); opacity: 1; }
    }
    @keyframes brandSweep {
      0% { transform: translateX(-130%); opacity: 0; }
      18% { opacity: .78; }
      50% { opacity: .18; }
      100% { transform: translateX(130%); opacity: 0; }
    }
    .brand-wire .brand-section {
      padding: 82px 0;
    }
    .brand-wire .brand-section--white {
      background: #fff;
    }
    .brand-wire .brand-section-band--intro {
      position: relative;
      overflow: hidden;
      background: url('/img/brand-intro-bg.png?v=20260603') center center / cover no-repeat;
      background-attachment: fixed;
    }
    .brand-wire .brand-section-band--intro:before {
      content: "";
      position: absolute;
      top: 0;
      left: 50%;
      z-index: 0;
      width: 100vw;
      height: 620px;
      transform: translateX(-50%);
      background: linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.84) 48%, rgba(255,255,255,0) 100%);
      pointer-events: none;
    }
    .brand-wire .brand-section-band--intro > section {
      background: transparent;
      position: relative;
      z-index: 1;
    }
    .brand-wire .brand-section-band--intro > section .wrap {
      position: relative;
      z-index: 1;
    }
    .brand-wire .brand-section--intro {
      background: transparent;
    }
    .brand-wire .brand-section--soft {
      background: rgba(255,255,255,.22);
    }
    .brand-wire .brand-section--dark {
      background:
        radial-gradient(circle at 16% 10%, rgba(201,160,87,.1), transparent 28%),
        linear-gradient(135deg, #151522 0%, #202034 100%);
      color: #fff;
    }
    .brand-section-head {
      margin: 0 0 48px;
      text-align: center;
    }
    .brand-section-head h2,
    .brand-dark-title {
      display: inline-block;
      margin: 0;
      padding-bottom: 18px;
      color: var(--brand-ink);
      font-size: 26px;
      line-height: 1.5;
      letter-spacing: .16em;
      font-weight: 600;
      position: relative;
    }
    .brand-section-head__title--stack-mobile .brand-section-head__line {
      display: inline;
    }
    .brand-dark-title--stack-mobile .brand-dark-title__line {
      display: inline;
    }
    .brand-section-head h2:after,
    .brand-dark-title:after {
      content: "";
      display: block;
      width: 42px;
      height: 1px;
      margin: 16px auto 0;
      background: var(--brand-gold);
    }
    .brand-about {
      width: min(880px, 100%);
      margin: 0 auto;
      text-align: center;
    }
    .brand-about p {
      margin: 0;
      color: var(--brand-muted);
      font-size: 15px;
      line-height: 2.35;
      letter-spacing: .04em;
      font-weight: 700;
    }
    .brand-feature-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0,1fr));
      gap: 22px;
    }
    .brand-feature-card {
      position: relative;
      overflow: hidden;
      min-height: 320px;
      display: flex;
      flex-direction: column;
      padding: 38px 28px 24px;
      background: #fff;
      border: 1px solid #ede9e0;
      border-top: 1px solid var(--brand-gold);
      box-shadow: 0 12px 34px rgba(28,28,46,.06);
      transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
    }
    .brand-feature-card:hover {
      border-color: #e8cfa0;
      box-shadow: 0 18px 42px rgba(28,28,46,.1);
      transform: translateY(-2px);
    }
    .brand-feature-card h3 {
      margin: 0 0 18px;
      color: var(--brand-ink);
      font-size: 17px;
      line-height: 1.6;
      letter-spacing: .08em;
      font-weight: 600;
      text-align: center;
      position: relative;
      z-index: 1;
    }
    .brand-feature-card p,
    .brand-step-body p {
      margin: 0;
      color: var(--brand-muted);
      font-size: 14px;
      line-height: 2;
      letter-spacing: .035em;
      font-weight: 700;
      position: relative;
      z-index: 1;
    }
    .brand-feature-card__visual {
      position: absolute;
      inset: 0;
      margin: 0;
      width: 100%;
      min-height: 0;
      overflow: hidden;
      background-position: center bottom;
      background-size: cover;
      background-repeat: no-repeat;
      pointer-events: none;
      z-index: 0;
    }
    .brand-feature-card__visual::before,
    .brand-feature-card__visual::after {
      content: "";
      position: absolute;
      pointer-events: none;
    }
    .brand-feature-card__visual::before {
      inset: 0;
      background: linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(255,255,255,.99) 18%, rgba(255,255,255,.92) 38%, rgba(255,255,255,.68) 64%, rgba(255,255,255,.26) 84%, rgba(255,255,255,0) 100%);
    }
    .brand-feature-card__visual::after {
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: linear-gradient(90deg, rgba(255,255,255,.95) 0%, rgba(255,255,255,.46) 26%, rgba(255,255,255,.08) 58%, rgba(255,255,255,0) 100%);
    }
    .brand-feature-card__visual--01 {
      background-image: url('/img/brand-feature-01.webp?v=20260603b');
    }
    .brand-feature-card__visual--02 {
      background-image: url('/img/brand-feature-02.webp?v=20260603b');
    }
    .brand-feature-card__visual--03 {
      background-image: url('/img/brand-feature-03.webp?v=20260603b');
    }
    .brand-feature-card__visual--04 {
      background-image: url('/img/brand-feature-04.webp?v=20260603b');
    }
    .brand-step-list {
      display: grid;
      gap: 20px;
      width: min(880px, 100%);
      margin: 0 auto;
    }
    .brand-step {
      display: grid;
      grid-template-columns: 72px minmax(0,1fr);
      gap: 22px;
      align-items: start;
    }
    .brand-step-num {
      display: grid;
      place-items: center;
      min-height: 72px;
      border: 1px solid rgba(201,160,87,.5);
      color: var(--brand-gold);
      background: #0f101a;
      font-size: 22px;
      font-weight: 600;
      line-height: 1;
    }
    .brand-step-body {
      min-height: 112px;
      padding: 26px 30px;
      border-left: 2px solid var(--brand-gold);
      background: var(--brand-paper);
    }
    .brand-step-body h3 {
      margin: 0 0 12px;
      color: var(--brand-ink);
      font-size: 17px;
      line-height: 1.55;
      letter-spacing: .08em;
      font-weight: 600;
    }
    .brand-logo-grid {
      display: grid;
      grid-template-columns: repeat(6, minmax(0,1fr));
      gap: 16px;
    }
    .brand-logo {
      min-height: 78px;
      display: grid;
      place-items: center;
      gap: 8px;
      padding: 14px 16px;
      border: 1px solid rgba(201,160,87,.42);
      background: rgba(255,255,255,.96);
      color: var(--brand-ink);
      font-family: "Noto Sans JP", "Yu Gothic", "Meiryo", Arial, sans-serif;
      font-size: 14px;
      font-weight: 900;
      line-height: 1.35;
      text-align: center;
      overflow-wrap: anywhere;
      transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
    }
    .brand-logo--image {
      min-height: 112px;
      align-content: center;
      padding: 16px 14px 12px;
    }
    .brand-logo img {
      width: min(156px, 100%);
      height: 52px;
      object-fit: contain;
      margin: 0 auto;
    }
    .brand-logo__text {
      display: block;
    }
    .brand-logo--image .brand-logo__text {
      color: #6a6470;
      font-size: 11px;
      letter-spacing: .04em;
    }
    .brand-logo:hover,
    .brand-logo:focus-visible {
      border-color: var(--brand-gold);
      background: #0d0e18;
      color: var(--brand-gold);
      transform: translateY(-2px);
      outline: none;
    }
    .brand-logo--image:hover .brand-logo__text,
    .brand-logo--image:focus-visible .brand-logo__text {
      color: var(--brand-gold);
    }
    .brand-dark-title {
      display: block;
      width: fit-content;
      margin: 0 auto 42px;
      color: #fff;
      text-align: center;
    }
    .brand-cta {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: space-between;
      gap: 20px;
      padding: 28px 30px;
      border: 1px solid rgba(201,160,87,.38);
      background:
        linear-gradient(135deg, rgba(13,14,24,.96), rgba(27,27,43,.96));
      color: #fff;
      overflow: hidden;
    }
    .brand-cta--spaced {
      margin-top: 34px;
    }
    .brand-cta h2,
    .brand-cta p,
    .owner-cta h2,
    .owner-cta p {
      min-width: 0;
      overflow-wrap: anywhere;
    }
    .brand-cta__title--stack-mobile .brand-cta__line {
      display: inline;
    }
    .brand-cta__title--stack-mobile .brand-cta__break {
      display: none;
    }
    .brand-cta h2 {
      margin: 0 0 8px;
      color: #fff;
      font-size: 21px;
      line-height: 1.5;
      letter-spacing: .08em;
      font-weight: 600;
    }
    .brand-cta p {
      margin: 0;
      color: rgba(255,255,255,.7);
      font-size: 14px;
      line-height: 1.9;
      font-weight: 700;
    }
    .brand-cta .primary-btn {
      border: 1px solid rgba(201,160,87,.7);
      background: transparent;
      color: var(--brand-gold);
      box-shadow: none;
    }
    .brand-cta .primary-btn:hover,
    .brand-cta .primary-btn:focus-visible {
      background: var(--brand-gold);
      color: #0d0e18;
      border-color: var(--brand-gold);
    }
    .com-wire { background: #f3f5f7; }
    .com-hero { padding: 54px 0 26px; text-align: center; background: #f3f5f7; }
    .com-hero h1 { margin: 0; color: var(--ink); font-size: 30px; }
    .com-hero p { color: #66798d; font-weight: 800; margin: 12px 0 0; }
    .com-section { padding: 34px 0; }
    .com-paper { width: min(980px, calc(100% - 40px)); margin: 0 auto; background: #fff; border: 1px solid #dce6ee; padding: 48px; }
    .com-panel { border: 1px solid #dce6ee; background: #fff; padding: 28px; }
    .com-panel h2, .com-panel h3, .com-paper h2, .com-paper h3 { color: #079ed1; margin: 0 0 18px; line-height: 1.5; }
    .com-panel p, .com-paper p { color: #30475e; line-height: 1.9; font-weight: 700; margin: 0 0 16px; }
    .com-divider { width: 88px; height: 3px; background: #16b9df; margin: 34px 0; }
    .com-policy-list { display: grid; gap: 28px; }
    .com-policy-card { border: 1px solid #dce6ee; background: #fff; padding: 26px; }
    .com-policy-card h3 { color: #079ed1; margin: 0 0 14px; line-height: 1.5; }
    .com-policy-card p { color: #30475e; line-height: 1.9; font-weight: 700; margin: 0; }
    .com-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; }
    .com-variant-b .com-paper { width: min(1120px, calc(100% - 40px)); }
    .com-variant-c .com-layout { display: grid; grid-template-columns: 300px minmax(0,1fr); gap: 24px; align-items: start; }
    .com-variant-c .com-side { position: sticky; top: 116px; display: grid; gap: 14px; }
    .initiative-wire { background: #f6f8fb; }
    .initiative-hero { background: #eef6fb; border-bottom: 1px solid #d8e2ea; }
    .initiative-hero--measurements {
      background:
        linear-gradient(90deg, rgba(255,255,255,.96), rgba(255,255,255,.82) 58%, rgba(255,255,255,.58)),
        url("/img/top-hero-bg.png") center/cover no-repeat;
    }
    .initiative-hero .wrap { min-height: 330px; display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 34px; align-items: center; padding: 48px 0; }
    .initiative-hero h1 { font-size: 38px; }
    .initiative-hero-card, .initiative-card, .initiative-paper, .initiative-cta { border: 1px solid #d8e2ea; border-radius: 3px; background: #fff; }
    .initiative-hero-card { padding: 24px; box-shadow: 0 12px 28px rgba(8,40,93,.08); }
    .initiative-hero-card h2, .initiative-card h2, .initiative-card h3, .initiative-paper h2, .initiative-paper h3, .initiative-cta h2 { margin: 0 0 12px; color: var(--navy); line-height: 1.5; }
    .initiative-hero-card p, .initiative-card p, .initiative-card li, .initiative-paper p, .initiative-paper li, .initiative-cta p { color: #425a73; line-height: 1.9; font-weight: 700; }
    .initiative-section { padding: 46px 0; }
    .initiative-section.alt { background: #edf5fa; }
    .initiative-layout { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 24px; align-items: start; }
    .initiative-side { position: sticky; top: 116px; display: grid; gap: 14px; }
    .initiative-nav { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
    .initiative-nav a, .initiative-goal { min-height: 36px; display: inline-flex; align-items: center; border: 1px solid #c8dce9; border-radius: 3px; background: #f8fcff; padding: 8px 11px; color: #344f6d; font-size: 13px; font-weight: 900; }
    .initiative-paper { padding: 36px; }
    .initiative-paper + .initiative-paper { margin-top: 18px; }
    .initiative-divider { width: 80px; height: 3px; background: #159ed1; margin: 24px 0; }
    .initiative-policy-list { display: grid; gap: 18px; }
    .initiative-policy { padding-top: 18px; border-top: 1px solid #dce6ee; }
    .initiative-policy:first-child { padding-top: 0; border-top: 0; }
    .initiative-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
    .initiative-grid--two { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .initiative-card { padding: 24px; min-width: 0; }
    .initiative-card ul, .initiative-paper ul { margin: 0; padding-left: 1.2em; }
    .initiative-goals { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
    .initiative-goal { color: #0968d8; background: #fff; }
    .initiative-step-list { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 16px; counter-reset: initiativeStep; }
    .initiative-step { position: relative; padding: 24px 20px 22px 58px; border: 1px solid #d8e2ea; background: #fff; }
    .initiative-step::before { counter-increment: initiativeStep; content: counter(initiativeStep, decimal-leading-zero); position: absolute; top: 22px; left: 20px; color: #0968d8; font-weight: 900; }
    .initiative-cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px; padding: 24px; }
    .initiative-cta > div { flex: 1 1 360px; min-width: 0; }
    .initiative-cta .primary-btn { flex: 0 1 240px; }
    .initiative-alert { border-color: #f0d38c; background: #fff9e7; color: #7b5a08; }
    .initiative-wire--lp { background: #fff; }
    .initiative-hero--lp {
      position: relative;
      overflow: hidden;
      background:
        linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.9) 46%, rgba(255,255,255,.64) 100%),
        url("/img/mainvisual__bg.webp") center/cover no-repeat;
      border-bottom: 1px solid #d8e7f2;
    }
    .initiative-hero--lp.initiative-hero--measurements {
      background:
        linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.9) 46%, rgba(255,255,255,.58) 100%),
        url("/img/top-hero-bg.png") center/cover no-repeat;
    }
    .initiative-hero--lp .wrap { min-height: 520px; grid-template-columns: minmax(0, 1fr) minmax(340px, 440px); }
    .initiative-hero__copy { max-width: 760px; }
    .initiative-hero__copy h1 { font-size: 46px; line-height: 1.22; }
    .initiative-hero__subcopy { margin: 18px 0 0; color: #3f5877; font-size: 18px; line-height: 1.9; font-weight: 800; }
    .initiative-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
    .initiative-hero__actions .primary-btn, .initiative-hero__actions .secondary-btn { min-width: 190px; }
    .initiative-hero__badges { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
    .initiative-hero__badges span { display: inline-flex; min-height: 34px; align-items: center; border: 1px solid #b9d8eb; border-radius: 999px; background: rgba(255,255,255,.88); padding: 7px 13px; color: #21466a; font-size: 13px; font-weight: 900; }
    .initiative-hero-visual { display: grid; gap: 14px; }
    .initiative-hero-visual__main { padding: 28px; border: 1px solid #d8e2ea; border-radius: 3px; background: rgba(255,255,255,.95); box-shadow: 0 22px 46px rgba(8,40,93,.13); }
    .initiative-hero-visual__main strong { display: block; color: var(--red); font-size: 34px; line-height: 1.2; }
    .initiative-hero-visual__main span { display: block; margin-top: 9px; color: #405a77; line-height: 1.8; font-weight: 800; }
    .initiative-hero-visual__grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
    .initiative-mini-card { min-height: 92px; border: 1px solid #d8e7f2; border-radius: 3px; background: rgba(255,255,255,.94); padding: 15px; }
    .initiative-mini-card b { display: block; color: var(--navy); font-size: 18px; line-height: 1.45; }
    .initiative-mini-card span { display: block; margin-top: 5px; color: #536b84; font-size: 12px; line-height: 1.5; font-weight: 800; }
    .initiative-lp-section { padding: 64px 0; background: #fff; }
    .initiative-lp-section.alt { background: #f3f9fd; }
    .initiative-lp-heading { margin-bottom: 28px; }
    .initiative-lp-heading h2 { margin: 0; color: var(--navy); font-size: 32px; line-height: 1.35; }
    .initiative-lp-heading p { margin: 12px 0 0; max-width: 780px; color: #536b84; line-height: 1.9; font-weight: 800; }
    .initiative-lp-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
    .initiative-lp-grid--two { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .initiative-lp-card { border: 1px solid #d8e2ea; border-radius: 3px; background: #fff; padding: 26px; min-width: 0; }
    .initiative-lp-card--centered { display: flex; align-items: center; }
    .initiative-lp-card h3 { margin: 0 0 12px; color: var(--navy); line-height: 1.5; }
    .initiative-lp-card--centered h3 { margin-bottom: 0; }
    .initiative-lp-card p, .initiative-lp-card li { margin: 0; color: #425a73; line-height: 1.9; font-weight: 700; }
    .initiative-lp-card ul { margin: 0; padding-left: 1.2em; }
    .initiative-lp-number { display: inline-flex; min-height: 30px; align-items: center; border-radius: 999px; background: #eef7ff; padding: 5px 12px; color: #0968d8; font-size: 12px; font-weight: 900; margin-bottom: 14px; }
    .initiative-lp-band { border: 1px solid #cfe3f3; border-radius: 3px; background: linear-gradient(90deg, #eef8ff, #f3fff8); padding: 34px; }
    .initiative-lp-band h2 { margin: 0 0 14px; color: var(--navy); font-size: 30px; line-height: 1.35; }
    .initiative-lp-band p { margin: 0; color: #425a73; line-height: 1.9; font-weight: 800; }
    .initiative-lp-flow { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; counter-reset: lpFlow; }
    .initiative-lp-flow .initiative-lp-card { position: relative; padding-top: 62px; }
    .initiative-lp-flow .initiative-lp-card::before { counter-increment: lpFlow; content: counter(lpFlow, decimal-leading-zero); position: absolute; top: 24px; left: 26px; color: #0968d8; font-size: 18px; font-weight: 900; }
    .initiative-lp-cta { background: #08285d; color: #fff; }
    .initiative-lp-cta .wrap { min-height: 170px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 22px; }
    .initiative-lp-cta h2 { margin: 0; color: #fff; font-size: 30px; }
    .initiative-lp-cta p { margin: 10px 0 0; color: rgba(255,255,255,.86); line-height: 1.8; font-weight: 800; }
    .initiative-lp-cta .primary-btn { background: #ff554d; min-width: 220px; }
    .initiative-sdgs-goals { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
    .initiative-sdgs-goals span { min-height: 34px; display: inline-flex; align-items: center; border: 1px solid #b9d8eb; border-radius: 3px; background: #f8fcff; padding: 7px 12px; color: #0968d8; font-size: 13px; font-weight: 900; }
    .initiative-measure-note { margin-top: 18px; border-color: #f0d38c; background: #fff9e7; color: #7b5a08; }
    .wireframe-mode .initiative-hero--lp {
      background:
        linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.9) 46%, rgba(255,255,255,.64) 100%),
        url("/img/mainvisual__bg.webp") center/cover no-repeat;
    }
    .wireframe-mode .initiative-hero--lp.initiative-hero--measurements {
      background:
        linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.9) 46%, rgba(255,255,255,.58) 100%),
        url("/img/top-hero-bg.png") center/cover no-repeat;
    }
    .wireframe-mode .initiative-lp-section.alt { background: #f3f9fd; }
    .wireframe-mode .initiative-lp-cta { background: #08285d; color: #fff; }
    .wireframe-mode .initiative-lp-cta h2 { color: #fff; }
    .wireframe-mode .initiative-lp-cta p { color: rgba(255,255,255,.86); }
    .wireframe-mode .initiative-lp-cta .primary-btn,
    .wireframe-mode .initiative-lp-cta .primary-btn:not(:disabled):hover,
    .wireframe-mode .initiative-lp-cta .primary-btn:not(:disabled):focus-visible {
      border-color: #ff554d;
      background: #ff554d;
      color: #fff;
    }
    .room-table, .vacancy-table { overflow-x: auto; }
    .room-table .room-row { min-width: 760px; }
    .vacancy-table .vacancy-row { min-width: 760px; }
    .room-table::-webkit-scrollbar, .vacancy-table::-webkit-scrollbar { height: 8px; }
    .room-table::-webkit-scrollbar-thumb, .vacancy-table::-webkit-scrollbar-thumb { background: #c7d5df; border-radius: 999px; }
    .detail-main, .search-result-grid, .result-layout, .company-profile-grid, .company-access-split { min-width: 0; }
    .detail-main > *, .search-result-grid > *, .result-layout > *, .company-profile-grid > *, .company-access-split > * { min-width: 0; }
    .building-info, .body { min-width: 0; }
    .building-info h2, .item-card h3, .panel h2, .detail-data-table td { overflow-wrap: anywhere; word-break: break-word; }
    .detail-data-table { table-layout: fixed; }
    .detail-data-table th { width: 140px; }
    .company-table { table-layout: fixed; }
    .company-table th { width: 190px; }
    .button-row { align-items: stretch; }
    .button-row > * { min-width: 0; text-align: center; }
    .company-page { background: #eef3f6; }
    .company-title { padding: 54px 0 26px; text-align: center; }
    .company-title h1 { font-size: 28px; }
    .company-title span { display: block; margin-top: 10px; color: #8a98a8; font-size: 13px; font-weight: 900; }
    .company-recruit { width: min(560px, 100%); min-height: 130px; margin: 0 auto 34px; display: grid; grid-template-columns: 145px 1fr; overflow: hidden; border-radius: 0; background: #fff; box-shadow: 0 10px 24px rgba(8,40,93,.08); }
    .company-recruit__photo { background: #22a8d0 url("/img/contact__woman.webp") left bottom/contain no-repeat; }
    .company-recruit__body { position: relative; padding: 20px 22px 48px; background: #fff; text-align: center; }
    .company-recruit__body small { color: #4bb7da; font-weight: 900; }
    .company-recruit__body strong { display: block; margin-top: 8px; color: #1fadd3; font-size: 28px; line-height: 1.25; }
    .company-recruit__bar { position: absolute; left: 0; right: 0; bottom: 0; min-height: 34px; display: grid; place-items: center; background: #f59d00; color: #fff; font-size: 18px; font-weight: 900; }
    .company-table { width: min(1050px, 100%); margin: 0 auto 70px; border-collapse: collapse; background: #fff; }
    .company-table th, .company-table td { border: 1px solid #dce4ea; padding: 20px 24px; text-align: left; vertical-align: middle; line-height: 1.75; }
    .company-table th { width: 210px; background: #cfe2f3; color: #263f5c; font-weight: 900; }
    .company-table td { color: #34475d; font-weight: 700; }
    .company-map { position: relative; height: 480px; background:
      linear-gradient(90deg, rgba(255,255,255,.66) 1px, transparent 1px) 0 0/70px 70px,
      linear-gradient(rgba(255,255,255,.66) 1px, transparent 1px) 0 0/70px 70px,
      linear-gradient(135deg, #e8edf1 0%, #e9f4e8 36%, #eef0e5 64%, #d8f0e9 100%);
      overflow: hidden;
    }
    .company-map:before { content: ""; position: absolute; inset: 0; background:
      linear-gradient(100deg, transparent 0 36%, rgba(87,115,136,.32) 37% 38%, transparent 39%),
      linear-gradient(15deg, transparent 0 58%, rgba(87,115,136,.26) 59% 60%, transparent 61%),
      radial-gradient(circle at 74% 38%, rgba(55,160,110,.18), transparent 150px),
      radial-gradient(circle at 16% 55%, rgba(55,160,110,.18), transparent 160px);
    }
    .company-map__info { position: absolute; left: 24px; top: 24px; width: 280px; padding: 16px; background: #fff; box-shadow: 0 8px 22px rgba(0,0,0,.14); color: #34475d; font-weight: 800; line-height: 1.7; }
    .company-map__pin { position: absolute; left: 50%; top: 42%; width: 34px; height: 34px; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); background: #e74a3b; box-shadow: 0 8px 18px rgba(0,0,0,.2); }
    .company-map__pin:after { content: ""; position: absolute; inset: 10px; border-radius: 50%; background: #fff; }
    .company-lead-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 18px; margin: 0 auto 34px; width: min(1050px, 100%); }
    .company-lead-card { padding: 22px; border: 1px solid #d8e7f2; border-radius: 3px; background: #fff; }
    .company-lead-card h2 { margin: 0 0 10px; color: var(--navy); font-size: 20px; }
    .company-lead-card p { margin: 0; color: #536b84; line-height: 1.8; font-weight: 700; }
    .company-profile-grid { width: min(1050px, 100%); margin: 0 auto 70px; display: grid; grid-template-columns: .86fr 1.14fr; gap: 24px; align-items: start; }
    .company-profile-grid .company-table { width: 100%; margin: 0; }
    .company-message { padding: 28px; border-radius: 3px; background: #fff; border: 1px solid #d8e7f2; }
    .company-message h2 { margin: 0 0 14px; color: var(--navy); font-size: 24px; }
    .company-message p { color: #536b84; line-height: 1.9; font-weight: 700; }
    .company-business { width: min(1050px, 100%); margin: 0 auto 34px; }
    .company-business .bullet-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
    .company-cta-band { margin-top: 44px; background: linear-gradient(90deg, #0b4b8d, #1aa2c0); color: #fff; }
    .company-cta-band .wrap { min-height: 130px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
    .company-cta-band h2 { margin: 0; color: #fff; font-size: 28px; }
    .company-cta-band p { margin: 8px 0 0; color: rgba(255,255,255,.9); font-weight: 700; }
    .company-access-split { width: min(1050px, 100%); margin: 0 auto 48px; display: grid; grid-template-columns: 360px minmax(0,1fr); gap: 24px; align-items: stretch; }
    .company-access-split .company-map { height: 360px; border-radius: 3px; border: 1px solid #d8e7f2; }
    .company-page--c { background: #f5f9fc; }
    .company-page--c .company-c-hero {
      background:
        linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.9) 52%, rgba(255,255,255,.62) 100%),
        url("/img/mainvisual__bg.webp") center/cover no-repeat;
      border-bottom: 1px solid #d3e5f1;
    }
    .company-c-hero .wrap {
      display: grid;
      grid-template-columns: minmax(0, 1fr) 360px;
      gap: 42px;
      align-items: center;
      min-height: 410px;
      padding: 58px 0;
    }
    .company-c-hero .wrap > *,
    .company-c-layout > *,
    .company-c-access > *,
    .company-c-contact,
    .company-c-note,
    .company-c-fact { min-width: 0; }
    .company-c-hero h1 {
      color: var(--navy);
      font-size: 40px;
      line-height: 1.32;
    }
    .company-c-hero__lead {
      max-width: 760px;
      margin: 18px 0 0;
      color: #3f5877;
      font-size: 17px;
      line-height: 1.9;
      font-weight: 800;
    }
    .company-c-hero__lead,
    .company-c-contact h2,
    .company-c-contact p,
    .company-c-fact b,
    .company-c-note p { overflow-wrap: anywhere; }
    .company-c-contact {
      padding: 24px;
      border: 1px solid #cfe1ee;
      border-top: 5px solid var(--red);
      border-radius: 3px;
      background: #fff;
      box-shadow: 0 16px 36px rgba(8,40,93,.11);
    }
    .company-c-contact h2 {
      margin: 0 0 12px;
      color: var(--navy);
      font-size: 22px;
      line-height: 1.45;
    }
    .company-c-contact p {
      margin: 0;
      color: #536b84;
      line-height: 1.8;
      font-weight: 700;
    }
    .company-c-contact__tel {
      display: block;
      margin: 16px 0 4px;
      color: var(--red);
      font-size: 27px;
      line-height: 1.15;
      font-weight: 900;
    }
    .company-c-facts {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 14px;
      margin-top: 28px;
    }
    .company-c-fact {
      min-height: 96px;
      padding: 16px;
      border: 1px solid #d7e7f2;
      border-left: 4px solid var(--cyan);
      border-radius: 3px;
      background: #fff;
    }
    .company-c-fact span {
      display: block;
      color: #60708a;
      font-size: 12px;
      font-weight: 900;
    }
    .company-c-fact b {
      display: block;
      margin-top: 8px;
      color: var(--navy);
      font-size: 16px;
      line-height: 1.45;
    }
    .company-c-section { padding: 54px 0; background: #fff; }
    .company-c-section.alt { background: #f5f9fc; }
    .company-c-heading {
      display: flex;
      justify-content: space-between;
      gap: 28px;
      align-items: end;
      margin-bottom: 24px;
    }
    .company-c-heading h2 {
      margin: 0;
      color: var(--navy);
      font-size: 30px;
      line-height: 1.35;
    }
    .company-c-heading p {
      margin: 0;
      max-width: 560px;
      color: #60708a;
      line-height: 1.8;
      font-weight: 700;
    }
    .company-c-layout {
      display: grid;
      grid-template-columns: 330px minmax(0, 1fr);
      gap: 24px;
      align-items: start;
    }
    .company-c-side {
      position: sticky;
      top: 108px;
      display: grid;
      gap: 14px;
    }
    .company-c-note {
      padding: 20px;
      border: 1px solid #d7e7f2;
      border-radius: 3px;
      background: #fff;
    }
    .company-c-note h3 {
      margin: 0 0 10px;
      color: var(--navy);
      font-size: 18px;
      line-height: 1.45;
    }
    .company-c-note p {
      margin: 0;
      color: #536b84;
      line-height: 1.8;
      font-weight: 700;
    }
    .company-c-business .bullet-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .company-c-business .bullet-grid li { background: #fff; }
    .company-c-access {
      display: grid;
      grid-template-columns: 360px minmax(0, 1fr);
      gap: 24px;
      align-items: stretch;
    }
    .company-c-access .company-map {
      height: 360px;
      border: 1px solid #d7e7f2;
      border-radius: 3px;
    }
    .company-c-map-section {
      padding: 0;
      background: #eaf2f7;
    }
    .company-c-map {
      width: 100%;
      height: min(58vh, 560px);
      min-height: 420px;
      border: 0;
      border-radius: 0;
      box-shadow: none;
    }
    .company-map--leaflet {
      background: #eaf2f7;
    }
    .company-map--leaflet::before,
    .company-map--leaflet .company-map__pin,
    .company-map--leaflet .company-map__info {
      display: none;
    }
    .company-map__canvas {
      position: relative;
      z-index: 1;
      width: 100%;
      height: 100%;
      min-height: inherit;
    }
    .company-map--leaflet .leaflet-container {
      color: #17355f;
      font-family: "Noto Sans JP", "Yu Gothic", "Meiryo", Arial, sans-serif;
    }
    .company-c-cta {
      background: linear-gradient(90deg, #0b4b8d, #12a8d8 62%, #1aa77d);
      color: #fff;
    }
    .company-c-cta .wrap {
      min-height: 136px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
    }
    .company-c-cta h2 { margin: 0; color: #fff; font-size: 28px; }
    .company-c-cta p { margin: 8px 0 0; color: rgba(255,255,255,.9); font-weight: 700; }
    .company-page--c .company-table { margin-bottom: 0; box-shadow: 0 10px 24px rgba(8,40,93,.07); }
    .company-page--c .company-table th { background: #eaf5fb; }
    .company-page--c .company-message { box-shadow: 0 10px 24px rgba(8,40,93,.07); }
    .wireframe-mode .company-page--c,
    .wireframe-mode .company-page--c .company-c-section.alt { background: #f5f9fc; }
    .wireframe-mode .company-page--c .company-c-section { background: #fff; }
    .wireframe-mode .company-page--c .company-c-cta { background: linear-gradient(90deg, #0b4b8d, #12a8d8 62%, #1aa77d); color: #fff; }
    .wireframe-mode .company-page--c .company-c-cta h2 { color: #fff; }
    .wireframe-mode .company-page--c .company-c-cta p { color: rgba(255,255,255,.9); }
    .map-box {
      min-height: 420px;
      border: 1px solid #bfdced;
      border-radius: 3px;
      background:
        linear-gradient(90deg, rgba(255,255,255,.66) 1px, transparent 1px) 0 0/46px 46px,
        linear-gradient(rgba(255,255,255,.66) 1px, transparent 1px) 0 0/46px 46px,
        linear-gradient(135deg, #d9f1ff, #e9fff7);
      position: relative;
      overflow: hidden;
    }
    .pin { position: absolute; width: 32px; height: 32px; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); background: var(--red); box-shadow: 0 8px 18px rgba(0,0,0,.18); }
    .pin:after { content: ""; position: absolute; inset: 9px; border-radius: 50%; background: #fff; }
    .toc { position: sticky; top: 116px; }
    .contact-note { margin-top: 18px; padding: 14px 16px; background: #fff9e7; border: 1px solid #f2d585; border-radius: 3px; color: #8b650b; font-size: 13px; font-weight: 800; }
    .footer-main { padding: 46px 0 26px; background: #06285c; color: #fff; }
    .footer-grid { display: grid; grid-template-columns: 1.15fr repeat(4, 1fr); gap: 34px; }
    .footer-main img { width: 160px; margin-bottom: 14px; }
    .footer-main h4 { margin: 0 0 12px; font-size: 15px; }
    .footer-main p, .footer-main li { color: rgba(255,255,255,.82); font-size: 13px; line-height: 1.8; }
    .footer-main ul { margin: 0; padding: 0; list-style: none; }
    .copy { margin-top: 28px; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.18); color: rgba(255,255,255,.72); font-size: 12px; text-align: center; }
    .variant-b .hero { background: #fff; }
    .variant-b .hero-inner { grid-template-columns: 1fr; min-height: 0; padding-bottom: 26px; }
    .variant-b .hero-card { display: none; }
    .variant-b .split { grid-template-columns: 330px minmax(0,1fr); }
    .variant-b .search-result-grid { grid-template-columns: 1fr; }
    .variant-b .search-side { grid-template-columns: repeat(3, minmax(0,1fr)); }
    .variant-c .hero-inner { grid-template-columns: .82fr 1fr; }
    .variant-c .section-head { display: block; text-align: center; }
    .variant-c .section-head p { margin: 10px auto 0; }
    .variant-c .search-result-grid { grid-template-columns: minmax(0,1fr) 280px; }
    .variant-c .search-side { order: 2; }
    @media (max-width: 900px) {
      .header-copy, .header-count-link { display: none; }
      .site-header-member-link { display: none; }
      .head { height: auto; padding: 14px 0; }
      .head-actions { margin-left: auto; }
      .mock-toolbar .wrap, .hero-inner, .split, .grid-2, .grid-3, .grid-4, .footer-grid, .result-layout, .result-card, .flow-list, .search-page-hero .wrap, .search-result-grid, .result-card, .building-card__body, .room-row, .search-seo-links, .company-lead-grid, .company-profile-grid, .company-access-split, .detail-main, .detail-gallery, .vacancy-row, .contact-strip, .school-grid, .related-grid, .contact-form-layout, .real-form-grid, .radio-list, .checkbox-list, .login-layout, .member-shell, .member-banner, .history-grid, .member-quick, .member-favorite-card, .member-variant-b .member-menu ul, .member-variant-c .member-shell, .register-layout, .register-steps, .register-variant-b .register-benefits, .register-variant-c .register-layout, .favorite-card, .favorite-card-grid, .cache-row, .cache-card-grid, .document-note-grid, .document-variant-b .document-main, .document-flow, .area-hero .wrap, .search-method-tabs, .area-step-grid, .area-check-grid, .area-detail-row, .area-selection-card, .area-selection-card__content, .area-options--brand, .area-popup__body, .area-popup__towns, .area-town-group__list, .area-variant-b .area-check-grid, .area-variant-c .area-form, .owner-hero .wrap, .owner-grid, .owner-flow, .owner-visual-split, .owner-variant-b .owner-grid, .owner-variant-c .owner-layout, .brand-feature-grid, .brand-logo-grid, .brand-variant-b .brand-feature-grid, .brand-logo-grid, .brand-variant-c .brand-layout, .com-grid, .com-variant-c .com-layout, .initiative-hero .wrap, .initiative-layout, .initiative-grid, .initiative-step-list, .initiative-lp-grid, .initiative-lp-grid--two, .initiative-lp-flow, .initiative-hero-visual__grid { grid-template-columns: minmax(0, 1fr); }
      .owner-variant-c .owner-side, .brand-variant-c .brand-side, .com-variant-c .com-side, .initiative-side { position: static; }
      .brand-wire .brand-logo-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
      }
      .brand-hero .wrap {
        grid-template-columns: minmax(0, 1fr);
        min-height: 0;
        padding: 52px 0 56px;
        gap: 18px;
      }
      .brand-hero__copy {
        width: 100%;
        padding: 22px 18px 20px;
      }
      .brand-hero__lead {
        max-width: none;
        font-size: 15px;
        line-height: 2;
      }
      .brand-hero__chips {
        gap: 8px;
        margin-top: 18px;
      }
      .brand-hero__chip {
        min-height: 32px;
        font-size: 11px;
      }
      .brand-hero__stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        margin-top: 18px;
      }
      .brand-hero__stat {
        padding: 12px 13px 11px;
      }
      .brand-hero__stat strong {
        font-size: 12px;
      }
      .brand-hero__stat span {
        font-size: 11px;
        line-height: 1.5;
      }
      .brand-hero__panel {
        width: 100%;
        padding: 20px 18px;
      }
      .brand-hero__panel-title {
        font-size: 19px;
      }
      .brand-hero__panel-list li {
        padding: 12px 12px 12px 14px;
      }
      .brand-hero__actions .primary-btn,
      .brand-hero__actions .secondary-btn {
        width: 100%;
        min-width: 0;
      }
      .brand-wire {
        background: transparent;
      }
      .brand-cta__title--stack-mobile .brand-cta__line {
        display: block;
        white-space: nowrap;
      }
      .brand-cta__title--stack-mobile .brand-cta__break {
        display: none;
      }
      .brand-wire .brand-section-band--intro {
        background: url('/img/brand-intro-bg-mobile.webp?v=20260603b') center top / 100% auto repeat-y;
        background-attachment: fixed;
      }
      .brand-wire .brand-hero {
        background:
          radial-gradient(circle at 76% 24%, rgba(240, 192, 112, .14), transparent 28%),
          linear-gradient(100deg, rgba(8, 10, 18, .94) 0%, rgba(8, 10, 18, .88) 36%, rgba(8, 10, 18, .52) 62%, rgba(8, 10, 18, .18) 82%, rgba(8, 10, 18, .12) 100%),
          url('/img/brand-hero-bg-mobile.webp?v=20260604a') center center / cover no-repeat;
      }
      .brand-hero h1 {
        font-size: clamp(30px, 8.4vw, 44px);
        line-height: 1.08;
        letter-spacing: .05em;
      }
      .brand-section-head__title--stack-mobile .brand-section-head__line {
        display: block;
        white-space: nowrap;
      }
      .brand-dark-title--stack-mobile .brand-dark-title__line {
        display: block;
        white-space: nowrap;
      }
      .brand-about {
        text-align: left;
      }
      .brand-wire .brand-section--white,
      .brand-wire .brand-section--soft {
        background: transparent;
      }
      .brand-wire .brand-section--dark {
        background:
          radial-gradient(circle at 16% 10%, rgba(201,160,87,.1), transparent 28%),
          linear-gradient(135deg, #151522 0%, #202034 100%);
        color: #fff;
      }
      .brand-wire .brand-section-band--intro:before {
        content: "";
        position: absolute;
        top: 0;
        left: 50%;
        z-index: 0;
        width: 100vw;
        height: 520px;
        transform: translateX(-50%);
        background: linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.84) 48%, rgba(255,255,255,0) 100%);
        pointer-events: none;
      }
      .initiative-paper { padding: 24px; }
      .initiative-cta .primary-btn { width: 100%; flex-basis: 100%; }
      .initiative-hero--lp .wrap { min-height: 0; padding: 42px 0; }
      .initiative-hero__copy h1 { font-size: 34px; }
      .initiative-hero__actions .primary-btn, .initiative-hero__actions .secondary-btn, .initiative-lp-cta .primary-btn { width: 100%; }
      .initiative-lp-section { padding: 42px 0; }
      .initiative-lp-band { padding: 24px; }
      .initiative-lp-cta .wrap { min-height: 0; padding: 34px 0; }
      .owner-menu-thumb { height: 150px; }
      .owner-card-media, .owner-wide-visual { height: 210px; }
      .owner-visual-media { min-height: 230px; }
      .owner-hero {
        background:
          linear-gradient(180deg, rgba(5,22,55,.94) 0%, rgba(5,28,66,.82) 58%, rgba(5,28,66,.45) 100%),
          url("/img/company/owner/owner-hero-consultation.webp") center/cover no-repeat;
      }
      .owner-hero .wrap { min-height: 0; gap: 24px; padding: 42px 0 56px; }
      .owner-hero h1,
      .wireframe-mode .owner-wire .owner-hero h1 { font-size: 34px; line-height: 1.2; }
      .owner-hero .lead { font-size: 17px; line-height: 1.85; }
      .owner-card { padding: 22px; border-radius: 3px; }
      .owner-problem-list .owner-card { border-radius: 0; }
      .owner-card--check { min-height: 0; }
      .owner-card--check:after { right: 18px; bottom: 18px; }
      .owner-menu-thumb { margin: -22px -22px 18px; }
      .owner-section { padding: 48px 0; }
      .owner-section .section-head { display: block; padding-left: 14px; }
      .owner-section .section-head h2 { font-size: 26px; }
      .owner-feature-body { padding: 24px 22px 24px 82px; }
      .owner-feature-icon { top: 24px; left: 22px; }
      .owner-flow { gap: 12px; }
      .owner-flow .owner-card { min-height: 104px; padding: 46px 18px 18px; }
      .owner-cta { padding: 24px; }
      .owner-cta .primary-btn, .brand-cta .primary-btn, .owner-cta .secondary-btn, .brand-cta .secondary-btn { width: 100%; flex-basis: 100%; }
      .area-variant-c .area-search-bar { position: static; }
      .area-search-bar--fixed { padding: 6px 0; }
      .area-search-bar__inner { width: min(100% - 24px, 1200px); gap: 6px; padding: 4px 0; }
      .area-search-count-label { width: 100%; justify-content: center; gap: 5px; font-size: 13px; line-height: 1.15; }
      .area-search-bar strong .area-count-breakdown--inline { gap: 4px; font-size: 12px; }
      .area-search-bar strong .area-count-breakdown--inline span { font-size: 12px; }
      .area-search-bar strong .area-count-breakdown--inline .area-count-number { font-size: 22px; }
      .area-search-bar--fixed .button-row { width: 100%; gap: 8px; }
      .area-search-bar--fixed .primary-btn,
      .area-search-bar--fixed .secondary-btn { min-height: 40px; padding: 0 8px; font-size: 12px; }
      .area-selection-card .area-section-title,
      .area-selection-card > .primary-btn,
      .area-selection-card [data-area-summary],
      .area-selection-card [data-linked-summary] { grid-column: 1; grid-row: auto; }
      .area-selection-card > .primary-btn { justify-self: stretch; }
      .area-section-title { padding: 13px 14px; }
      .area-title-text { font-size: 18px; }
      .area-facility-category__options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .area-popup { padding: 12px; align-items: stretch; }
      .area-popup__dialog { max-height: calc(100vh - 24px); }
      .area-popup__pane:first-child { border-right: 0; border-bottom: 1px solid #e2edf5; }
      .area-popup__actions { gap: 8px; padding: 12px; }
      .area-popup__actions .primary-btn,
      .area-popup__actions .secondary-btn { flex: 1 1 0; min-width: 0; min-height: 58px; padding: 0 8px; font-size: 13px; }
      .area-popup__actions .secondary-btn::before { width: 20px; height: 20px; font-size: 12px; }
      .favorite-toolbar { position: static; }
      .favorite-card img { width: 100%; }
      .favorite-compare { display: block; overflow-x: auto; }
      .cache-row img { width: 100%; }
      .cache-compare { display: block; overflow-x: auto; }
      .search-side, .variant-b .search-side { grid-template-columns: 1fr; }
      .favorite-table { display: block; overflow-x: auto; }
      .favorite-table table, .favorite-table tbody, .favorite-table tr { min-width: 760px; }
      .room-table .room-row, .vacancy-table .vacancy-row { min-width: 680px; }
      .company-table, .company-table tbody, .company-table tr, .company-table th, .company-table td { display: block; width: 100%; }
      .company-table th { border-bottom: 0; }
      .company-c-hero .wrap, .company-c-facts, .company-c-heading, .company-c-layout, .company-c-access, .company-c-cta .wrap { grid-template-columns: minmax(0, 1fr); }
      .company-c-heading, .company-c-cta .wrap { display: grid; align-items: start; }
      .company-c-side { position: static; }
      .company-c-hero .wrap { min-height: 0; padding: 42px 0; }
      .company-c-hero h1 { font-size: 34px; }
      .company-c-contact__tel { font-size: 23px; }
      .company-c-business .bullet-grid { grid-template-columns: minmax(0, 1fr); }
      .company-c-map { height: 430px; min-height: 430px; }
      .company-c-cta .wrap { min-height: 0; padding: 30px 0; gap: 16px; }
      .company-c-cta h2 { font-size: 23px; line-height: 1.45; }
      .company-c-cta p { line-height: 1.8; }
      .company-c-cta .primary-btn { width: 100%; min-height: 48px; }
      .detail-data-table, .detail-data-table tbody, .detail-data-table tr, .detail-data-table th, .detail-data-table td { display: block; width: 100%; }
      .detail-data-table th { border-bottom: 0; }
      .detail-wrap { width: min(100% - 24px, 860px); }
      h1 { font-size: 32px; }
      .section-head { display: block; }
    }
    @media (max-width: 480px) {
      .brand-wire .brand-logo-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
      }
      .brand-logo {
        min-height: 64px;
        padding: 10px 8px;
        font-size: 11px;
      }
      .brand-logo--image {
        min-height: 86px;
        padding: 10px 8px 8px;
      }
      .brand-logo img {
        width: min(100%, 92px);
        height: 36px;
      }
      .brand-logo--image .brand-logo__text {
        font-size: 10px;
      }
      .brand-feature-card {
        position: relative;
        overflow: hidden;
        min-height: 260px;
        padding: 28px 22px 22px;
      }
      .brand-feature-card__visual {
        position: absolute;
        inset: 0;
        margin: 0;
        width: 100%;
        min-height: 0;
        z-index: 0;
      }
      .brand-feature-card h3,
      .brand-feature-card p {
        position: relative;
        z-index: 1;
      }
      .brand-feature-card__visual::before {
        background: linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(255,255,255,.99) 20%, rgba(255,255,255,.92) 42%, rgba(255,255,255,.62) 68%, rgba(255,255,255,.18) 88%, rgba(255,255,255,0) 100%);
      }
      .brand-feature-card__visual::after {
        width: 100%;
        background: linear-gradient(90deg, rgba(255,255,255,.96) 0%, rgba(255,255,255,.42) 26%, rgba(255,255,255,.06) 58%, rgba(255,255,255,0) 100%);
      }
    }
    @media (min-width: 768px) {
      .area-selection-card { grid-template-columns: minmax(0,1fr) auto; align-items: start; }
      .area-selected-groups { grid-template-columns: repeat(2, minmax(0,1fr)); }
      .area-selection-card h2 { grid-column: 1; grid-row: 1; }
      .area-selection-card > .primary-btn { grid-column: 2; grid-row: 1; justify-self: end; align-self: center; }
      .area-selection-card [data-area-summary],
      .area-selection-card [data-linked-summary] { grid-column: 1 / -1; grid-row: 2; }
    }

    @media (prefers-reduced-motion: reduce) {
      .brand-hero__copy,
      .brand-hero__panel,
      .brand-hero__eyebrow,
      .brand-hero__line,
      .brand-hero__lead,
      .brand-hero__chips,
      .brand-hero__chip,
      .brand-hero__stats,
      .brand-hero__stat,
      .brand-hero__actions,
      .brand-hero__panel-kicker,
      .brand-hero__panel-title,
      .brand-hero__panel-list li,
      .brand-hero::before,
      .brand-hero::after,
      .brand-hero .wrap:before {
        animation: none !important;
        transition: none !important;
        transform: none !important;
      }
    }

    @supports (content-visibility: auto) {
      #app > section:nth-of-type(n+3),
      .brand-wire > section:nth-of-type(n+3),
      .owner-wire > section:nth-of-type(n+3),
      .initiative-wire > section:nth-of-type(n+3),
      .company-page > section:nth-of-type(n+3),
      .footer-main,
      .site-footer {
        content-visibility: auto;
        contain-intrinsic-size: auto 720px;
      }

      .footer-main,
      .site-footer {
        contain-intrinsic-size: auto 520px;
      }
    }
