﻿@charset "utf-8";

.greet-layout {display:grid;grid-template-columns:1fr 1.2fr;gap:64px;align-items:start;}
.greet-img {overflow:hidden;aspect-ratio:3/4;background:var(--surface);}
.greet-img img {width:100%;height:100%;object-fit:cover;}
.greet-body {margin-top:24px;}
.greet-body h3 {font-size:var(--font-size-30);font-weight:700;line-height:1.4;margin-bottom:24px;color:var(--ink);}
.greet-body p {font-size:var(--font-size-18);color:var(--ink-soft);line-height:1.875;margin-bottom:16px;}
.greet-sign {margin-top:28px!important;font-weight:700;color:var(--ink)!important;}

.vision-page {width:100%;}
.vision-section {padding-bottom:72px;text-align:left;}
.vision-section .sec-eyebrow {margin-bottom:14px;}
.vision-title {font-size:var(--font-size-40);font-weight:700;line-height:1.3;color:var(--ink);margin-bottom:20px;}
.vision-desc {font-size:var(--font-size-18);color:var(--ink-soft);line-height:1.8;}
.vision-banner {margin-top:40px;overflow:hidden;aspect-ratio:1536/545;background:var(--surface);}
.vision-banner img {width:100%;height:100%;object-fit:cover;object-position:center center;display:block;}
.values-section {padding:0;}
.values-section .sec-eyebrow {margin-bottom:14px;}
.values-title {font-size:var(--font-size-40);font-weight:700;line-height:1.3;color:var(--ink);margin-bottom:40px;}
.vision-values {display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.vision-card {text-align:left;padding:36px 28px 32px;background:#fff;border:1px solid #eee;}
.vision-card-icon {display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;background:var(--point);border:none;color:#fff;margin-bottom:24px;}
.vision-card-icon svg {display:block;width:24px;height:24px;}
.vision-card-title {font-size:var(--font-size-22);font-weight:700;color:var(--ink);margin-bottom:12px;}
.vision-card-desc {font-size:var(--font-size-17);color:var(--ink-soft);line-height:1.75;}

.history-page {width:100%;}
.history-section .sec-eyebrow {margin-bottom:14px;}
.history-title {font-size:var(--font-size-40);font-weight:700;line-height:1.3;color:var(--ink);margin-bottom:0;}
.history-banner {position:relative;margin:40px 0 56px;overflow:hidden;height:300px;background:var(--surface);}
.history-banner img {position:relative;z-index:0;width:100%;height:100%;object-fit:cover;object-position:center center;display:block;}
.history-banner:before {content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(105deg,rgba(255,255,255,.88) 0%,rgba(255,255,255,.55) 45%,rgba(255,255,255,.15) 100%);pointer-events:none;}
.history-banner-type {position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;gap:.35em;margin:0;font-family:'Yesteryear',cursive;font-weight:400;font-size:var(--font-size-40);line-height:1;letter-spacing:.02em;color:var(--ink);pointer-events:none;}
.history-banner-brand.is-accent {color:var(--point);}
.history-timeline {position:relative;max-width:900px;margin:0 auto;padding:8px 0 0;}
.history-line {position:absolute;left:50%;top:42px;bottom:0;width:2px;transform:translateX(-50%);background:var(--hairline);pointer-events:none;z-index:0;}
.history-line-fill {position:absolute;top:0;left:0;width:100%;height:100%;background:var(--point);z-index:1;transform-origin:top center;transform:scaleY(var(--line-progress,0));will-change:transform;}
.history-line:after {content:'';position:absolute;left:0;bottom:0;width:2px;height:64px;background:linear-gradient(to bottom,var(--hairline),transparent);}
.history-item {position:relative;width:50%;padding-bottom:56px;box-sizing:border-box;z-index:1;}
.history-item:last-child {padding-bottom:96px;}
.history-item.is-right {margin-left:50%;padding-left:48px;text-align:left;}
.history-item.is-left {margin-right:50%;padding-right:48px;}
.history-dot {position:absolute;top:6px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;z-index:2;}
.history-dot:before {content:'';position:absolute;inset:0;border-radius:50%;background:rgba(189,189,189,.25);transition:background .45s var(--ease-out);}
.history-dot-core {position:relative;display:flex;align-items:center;justify-content:center;width:12px;height:12px;border-radius:50%;background:#BDBDBD;box-shadow:0 0 0 3px #fff,0 0 0 5px #BDBDBD;transition:background .45s var(--ease-out),box-shadow .45s var(--ease-out);z-index:1;}
.history-item.is-active .history-dot:before {background:var(--point-soft);}
.history-item.is-active .history-dot-core {background:var(--point);box-shadow:0 0 0 3px #fff,0 0 0 5px var(--point);}
.history-item.is-right .history-dot {left:0;transform:translateX(-50%);}
.history-item.is-left .history-dot {right:0;transform:translateX(50%);}
.history-item.is-left .history-year, .history-item.is-left .history-events {text-align:right;}
.history-year {display:block;margin-bottom:16px;font-size:var(--font-size-30);font-weight:700;line-height:1;font-variant-numeric:tabular-nums;color:#BDBDBD;transition:color .45s var(--ease-out);}
.history-item.is-active .history-year {color:var(--point);}
.history-events {list-style:none;margin:0;padding:0;}
.history-events li {font-size:var(--font-size-18);color:var(--ink-soft);line-height:1.6;margin-bottom:10px;}
.history-events time {display:inline-block;min-width:3.25em;margin-right:8px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums;}

.org-page {display:flex;flex-direction:column;gap:96px;width:100%;max-width:none;}
.org-block {position:relative;overflow:visible;}
.org-lines {position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;}
.org-lines path {fill:none;stroke:#ccc;stroke-width:1;stroke-dasharray:2 3;vector-effect:non-scaling-stroke;}
.org-grid {position:relative;z-index:1;}
.org-grid--dept {display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:auto auto auto auto;column-gap:24px;row-gap:0;}
.org-cell--ceo {grid-column:3;grid-row:1;justify-self:center;margin-bottom:0;}
.org-cell--audit {grid-column:1;grid-row:2;justify-self:stretch;align-self:start;margin-top:32px;width:100%;}
.org-cell--director {grid-column:3;grid-row:3;justify-self:stretch;align-self:start;margin-top:32px;width:100%;}
.org-cell--depts {grid-column:1/-1;grid-row:4;margin-top:120px;}
.org-ceo-ring {width:222px;height:222px;border-radius:50%;border:2px solid var(--navy);background:#fff;display:flex;align-items:center;justify-content:center;position:relative;max-width:100%;}
.org-ceo-ring:before {content:'';position:absolute;inset:12px;border:2px dashed var(--navy);border-radius:50%;opacity:.45;}
.org-ceo-ring .org-node-label {position:relative;z-index:1;font-size:var(--font-size-30);font-weight:700;line-height:1.35;color:var(--navy);}
.org-node {text-align:center;box-sizing:border-box;}
.org-node-label {display:block;font-size:var(--font-size-18);font-weight:600;line-height:1.35;}
.org-node--head {min-width:0;padding:16px 28px;border-radius:0;color:#fff;width:100%;}
.org-node--audit {background:#121212;}
.org-node--audit .org-node-label, .org-node--director .org-node-label {font-size:var(--font-size-22);font-weight:700;color:#fff;}
.org-node--director {background:var(--navy);}
.org-node--company {background:var(--point);color:#fff;min-width:0;padding:18px 32px;border-radius:0;width:100%;}
.org-node--company .org-node-label {font-size:var(--font-size-22);font-weight:700;color:#fff;}
.org-node--dept {background:#fff;border:1px solid var(--hairline);border-radius:0;padding:24px 18px 20px;min-height:112px;}
.org-node-badge {display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin:0 auto 16px;background:transparent;border-radius:0;border:1px solid var(--hairline);color:var(--point);}
.org-node--dept .org-node-label {font-size:var(--font-size-18);font-weight:500;color:#505050;}
.org-dept-row, .org-loc-row {list-style:none;margin:0;padding:0;display:grid;gap:24px;}
.org-dept-row {grid-template-columns:repeat(5,1fr);}
.org-loc-row {grid-template-columns:repeat(3,1fr);}
.org-grid--loc {display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:auto auto;column-gap:24px;row-gap:0;}
.org-cell--company {grid-column:2;grid-row:1;justify-self:stretch;margin-bottom:8px;width:100%;}
.org-cell--locs {grid-column:1/-1;grid-row:2;margin-top:120px;}

.location-page {display:flex;flex-direction:column;gap:60px;width:100%;max-width:100%;}
.loc-item {display:grid;grid-template-columns:38% minmax(0,1fr);gap:clamp(40px,5vw,64px);align-items:center;padding-bottom:48px;border-bottom:1px solid #eee;}
.loc-item:last-of-type {padding-bottom:0;border-bottom:none;}
.loc-map {min-width:0;overflow:hidden;height:300px;background:var(--surface);}
.loc-map iframe {display:block;width:100%;height:100%;border:0;}
.loc-info {display:flex;flex-direction:column;gap:32px;min-width:0;padding:0;align-self:center;}
.loc-head {display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-bottom:24px;border-bottom:2px solid #2c2c2c;}
.loc-name {font-size:var(--font-size-30);font-weight:700;line-height:1.25;color:#2c2c2c;letter-spacing:-.02em;}
.loc-region {display:flex;align-items:center;gap:16px;font-size:var(--font-size-16);font-weight:500;line-height:1.5;color:#2c2c2c;}
.loc-rows {display:grid;grid-template-columns:3.5rem minmax(0,1fr);column-gap:clamp(24px,4vw,48px);row-gap:20px;margin:0;}
.loc-rows dt {font-size:var(--font-size-18);font-weight:500;line-height:1.5;color:#2c2c2c;white-space:nowrap;}
.loc-rows dd {margin:0;font-size:var(--font-size-18);font-weight:400;line-height:1.5;color:#676767;}
.loc-rows dd a:hover {color:var(--point);}

.cat-tabs {margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid var(--hairline);}
.cat-tabs > .swiper {overflow:hidden;}
.cat-tabs .swiper-wrapper {display:flex;align-items:stretch;}
.cat-tabs .swiper-slide {width:auto;height:auto;}
.cat-tabs .cat-tab {display:inline-flex;align-items:center;padding:10px 18px;font-size:var(--font-size-15);font-weight:600;color:var(--ink-soft);border:1px solid var(--hairline);background:#fff;text-decoration:none;cursor:pointer;transition:all .18s;white-space:nowrap;}
.cat-tabs .cat-tab:hover {border-color:var(--ink);color:var(--ink);}
.cat-tabs .cat-tab.active {background:var(--point);border-color:var(--point);color:#fff;}
.prod-toolbar {display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px;flex-wrap:wrap;}
.prod-count {font-size:var(--font-size-15);color:var(--ink-soft);}
.prod-count strong {color:var(--ink);}
.prod-grid {display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.prod-card {border:1px solid var(--hairline);background:#fff;cursor:pointer;overflow:hidden;min-width:0;transition:border-color .2s,box-shadow .25s,transform .2s;}
.prod-card:hover {border-color:#c8c8c8;box-shadow:0 8px 24px rgba(26,26,26,.07);transform:translateY(-2px);}
.prod-thumb {position:relative;aspect-ratio:4/3;background:#fff;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:16px 20px;box-sizing:border-box;}
.prod-thumb img {width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;object-position:center;}
.prod-cat-tag {position:absolute;top:12px;left:12px;z-index:1;padding:4px 10px;background:#fff;border:1px solid var(--hairline);font-size:var(--font-size-12);font-weight:700;color:var(--navy);letter-spacing:.02em;}
.prod-body {padding:18px 18px 22px;}
.prod-body h4 {font-size:var(--font-size-18);font-weight:700;line-height:1.4;margin-bottom:6px;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.prod-model {font-size:var(--font-size-14);font-weight:600;color:var(--point);margin-bottom:8px;}
.prod-desc {font-size:var(--font-size-14);color:var(--ink-soft);line-height:1.55;margin-bottom:14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.prod-price-row {font-size:var(--font-size-15);font-weight:700;}
.price-inquire {color:var(--ink-soft);}
.price-value {color:var(--ink);}
.price-value .cur {font-size:var(--font-size-13);margin-right:2px;}
.prod-search {display:flex;gap:8px;align-items:center;}
.prod-search input {height:44px;min-width:240px;padding:0 14px;border:1px solid var(--hairline);background:#fff;font-size:var(--font-size-15);outline:none;transition:border-color .2s;}
.prod-search input:focus {border-color:var(--navy);}
.btn-dark {background:var(--navy);color:#fff;height:44px;padding:0 18px;font-size:var(--font-size-15);font-weight:600;border:0;cursor:pointer;}
.btn-dark:hover {background:var(--navy-deep);}
.pagination {display:flex;justify-content:center;align-items:center;gap:6px;margin-top:48px;}
.pagination button, .pagination span {min-width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--hairline);font-size:var(--font-size-15);font-weight:600;color:var(--ink-soft);background:#fff;}
.pagination span.active {background:var(--navy);border-color:var(--navy);color:#fff;}
.pagination button:hover {border-color:var(--ink);color:var(--ink);}

/* Product detail (#prodDetailView) */
.prod-detail-back {margin-bottom:28px;}
.detail-layout {display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-bottom:48px;}
.detail-visual {aspect-ratio:1;background:#fff;border:1px solid var(--hairline);overflow:hidden;display:flex;align-items:center;justify-content:center;padding:24px 32px;box-sizing:border-box;}
.detail-visual img {width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;object-position:center;}
.detail-cat {display:inline-block;margin-bottom:10px;font-size:var(--font-size-13);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--point);}
.detail-info h2 {font-size:var(--font-size-30);font-weight:700;line-height:1.3;margin-bottom:8px;}
.detail-model {font-size:var(--font-size-16);font-weight:600;color:var(--ink-soft);margin-bottom:16px;}
.detail-desc {font-size:var(--font-size-18);color:var(--ink-soft);line-height:1.75;margin-bottom:28px;}
.detail-price-box {display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 0;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);margin-bottom:24px;}
.detail-price-box .price-value {font-size:var(--font-size-28);}
.qty-stepper {display:flex;align-items:center;border:1px solid var(--hairline);}
.qty-stepper button {width:40px;height:40px;font-size:var(--font-size-18);font-weight:600;color:var(--ink); border: 0; background: #fff;}
.qty-stepper button:hover {background:var(--surface);}
.qty-stepper span {min-width:44px;text-align:center;font-weight:700;font-size:var(--font-size-16);border-left:1px solid var(--hairline);border-right:1px solid var(--hairline);line-height:40px;}
.detail-actions {display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px;}
.detail-block-title {font-size:var(--font-size-22);font-weight:700;margin:40px 0 20px;padding-bottom:12px;border-bottom:2px solid var(--ink);}
.feature-list {display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.feature-item {padding:22px 24px;background:transparent;border:1px solid var(--hairline);transition:border-color .2s,box-shadow .25s,transform .2s;}
.feature-item:hover {border-color:#c8c8c8;box-shadow:0 8px 24px rgba(26,26,26,.07);transform:translateY(-2px);}
.feature-item h5 {font-size:var(--font-size-18);font-weight:700;margin-bottom:8px;transition:color .2s;}
.feature-item:hover h5 {color:var(--point);}
.feature-item p {font-size:var(--font-size-16);color:var(--ink-soft);line-height:1.65;}
.spec-table {width:100%;border-collapse:collapse;}
.spec-table th, .spec-table td {padding:14px 18px;border:1px solid var(--hairline);font-size:var(--font-size-15);text-align:left;}
.spec-table th {width:28%;background:var(--surface);font-weight:700;color:var(--ink);}
.spec-table td {color:var(--ink-soft);}
.no-spec-note {padding:20px;background:var(--surface);color:var(--ink-soft);font-size:var(--font-size-15);}

/* Product order table (detail) */
.order-table-wrap {overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:8px;}
.order-table {width:100%;min-width:720px;border-collapse:collapse;background:#fff;}
.order-table thead th {padding:14px 12px;border:1px solid var(--hairline);background:#fafafa;font-size:var(--font-size-14);font-weight:700;color:var(--ink);text-align:center;white-space:nowrap;}
.order-table tbody td {padding:14px 12px;border:1px solid var(--hairline);font-size:var(--font-size-14);color:var(--ink-soft);vertical-align:middle;}
.order-table tbody td.col-no, .order-table tbody td.col-name, .order-table tbody td.col-spec, .order-table tbody td.col-unit, .order-table tbody td.col-qty, .order-table tbody td.col-add {text-align:center;}
.order-table tbody td.col-name {color:var(--ink);}
.order-table tbody td.col-price {text-align:right;}
.order-table__price {display:block;font-weight:700;font-size:var(--font-size-15);color:var(--ink);}
.order-table__price-note {display:block;margin-top:4px;font-size:var(--font-size-12);font-weight:400;color:var(--ink-soft);line-height:1.4;}
.order-qty {display:inline-flex;align-items:center;border:1px solid var(--hairline);background:#fff;}
.order-qty__btn {width:32px;height:32px;padding:0;font-size:var(--font-size-16);font-weight:600;color:var(--ink);background:#f5f5f5;border:none;cursor:pointer;line-height:1;}
.order-qty__btn:hover {background:#ebebeb;}
.order-qty__input {width:44px;height:32px;padding:0 4px;border:0;border-left:1px solid var(--hairline);border-right:1px solid var(--hairline);background:#fff;font-size:var(--font-size-14);font-weight:600;text-align:center;outline:none;}
.order-qty__input:focus {background:#fafafa;}
.order-add-btn {display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:88px;height:36px;padding:0 14px;font-size:var(--font-size-13);font-weight:600;white-space:nowrap; border: 0;}
.order-add-btn svg {flex-shrink:0;}

.sitemap-grid {display:grid;grid-template-columns:repeat(5,1fr);gap:24px;margin-bottom:48px;}
.sitemap-col {border-top:3px solid var(--navy);background:var(--surface);padding:0;}
.sitemap-col-head {padding:18px 20px;font-size:var(--font-size-18);font-weight:700;cursor:pointer;color:var(--ink);border-bottom:1px solid var(--hairline);}
.sitemap-col-body {padding:12px 20px 20px;display:flex;flex-direction:column;gap:2px;}
.sitemap-col-body a {padding:8px 0;font-size:var(--font-size-15);color:var(--ink-soft);font-weight:500;}
.sitemap-col-body a:hover {color:var(--point);}

.history-item.is-left .history-events li {display:flex;justify-content:flex-end;align-items:baseline;gap:10px;}
.history-item.is-left .history-events time {order:-1;display:inline-block;min-width:3.25em;margin-right:8px;margin-left:0;}
.org-node--loc {background:transparent;border:1px solid var(--hairline);border-radius:0;padding:24px 18px 20px;min-height:108px;}
.org-node-badge--loc {background:transparent;border:1px solid var(--hairline);color:#2c2c2c;}
.org-node--loc .org-node-label {font-size:var(--font-size-18);font-weight:500;color:#505050;}
.org-cell--audit .org-node--head, .org-cell--director .org-node--head {width:100%;}
