@charset "utf-8";
/* doc.css는 디자인페이지 스타일을 정의합니다. */

/* common */
.section-label {color:var(--color-main); font-size:16px; font-weight:600; text-transform:uppercase;}
.section-title {color:var(--color-text); font-size:48px; font-weight:700; line-height:1;}
.section-desc {color:var(--color-text-sub); font-size:18px;}
.btn-pill {display:inline-flex; align-items:center; justify-content:center; width:136px; height:48px; padding:0 50px 0 18px; border-radius:50px; background:var(--color-white) url("/images/common/btn-pill-icon.svg") no-repeat right 18px center / 20px; color:var(--color-text); font-size:16px; line-height:1.625em; box-sizing:border-box; transition:background-color 0.2s ease, color 0.2s ease;}
.btn-pill:hover {background-color:var(--color-main); background-image:url("/images/common/btn-pill-icon-on.svg"); color:var(--color-white); font-weight:600;}
.btn-circle {display:inline-flex; align-items:center; justify-content:center; width:64px; height:64px; border:1px solid var(--color-border); border-radius:50%; background:var(--color-white) url("/images/common/icon-arrow-off.svg") no-repeat center / 24px; transition:background-color 0.2s ease, border-color 0.2s ease;}
.btn-circle:hover {background-color:var(--color-main); background-image:url("/images/common/icon-arrow-on.svg"); border-color:transparent;}
.btn-circle.prev {transform:rotate(180deg);}
.btn-circle.add {background-image:url("/images/common/icon-add-main.svg");}
.btn-circle.add:hover {background-image:url("/images/common/icon-add-white.svg");}
.btn-circle.is-main {border-color:var(--color-main); background-color:var(--color-main); color:var(--color-white);}
.btn-circle .material-symbols-outlined {font-size:24px;}
.btn-top {position:fixed; right:40px; bottom:40px; z-index:90; width:48px; height:48px;}
.btn-top img {width:100%; height:100%; object-fit:contain;}
.badge-new {position:absolute; top:16px; left:16px; z-index:2; padding:6px 10px; border-radius:var(--radius-sm); background:var(--color-main); color:var(--color-white); font-size:12px; font-weight:600;}


/* greetings */
.about-greeting {display:grid; grid-template-columns:minmax(0, 560px) minmax(0, 1fr); gap:48px; align-items:stretch;}
.about-greeting__media {overflow:hidden; width:100%; min-height:600px; margin:0; border-radius:0 var(--radius-lg) 200px 0; background:var(--color-bg-gray);}
.about-greeting__media img {display:block; width:100%; height:100%; object-fit:cover;}
.about-greeting__article {display:flex; flex-direction:column; width:100%; max-width:none; margin:0; padding:56px 60px; border:1px solid var(--color-border); border-radius:var(--radius-lg); background:var(--color-white); box-shadow:0 8px 24px rgba(0, 0, 0, 0.04);}
.about-greeting__label {display:block; margin-bottom:24px; color:var(--color-main); font-size:14px; font-weight:600; letter-spacing:0.12em; line-height:1;}
.about-greeting__lead {display:flex; flex-direction:column; gap:12px;}
.about-greeting__hello {color:var(--color-main); font-size:32px; font-weight:700; line-height:1.3;}
.about-greeting__thanks {color:var(--color-text); font-size:22px; font-weight:600; line-height:1.55;}
.about-greeting__body {display:flex; flex-direction:column; gap:20px; margin-top:36px; padding-top:36px; border-top:1px solid var(--color-border); color:var(--color-text-sub); font-size:17px; line-height:1.85;}
.about-greeting__sign {display:flex; flex-direction:column; align-items:flex-end; gap:8px; margin-top:auto; padding-top:48px; text-align:right;}
.about-greeting__sign-role {color:var(--color-text-muted); font-size:15px; font-weight:500; line-height:1.4;}
.about-greeting__sign-name {color:var(--color-text); font-size:24px; font-weight:700; line-height:1;}
.sub-content--layout:has(.about-greeting--v2) {padding:0 0 150px;}
.about-greeting--v2 {display:flex; flex-direction:column; gap:0;}
.about-greeting__top {display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); gap:80px; align-items:stretch;}
.about-greeting--v2 .about-greeting__intro {display:flex; flex-direction:column; gap:0; min-height:470px;}
.about-greeting__intro {display:flex; flex-direction:column; gap:0;}
.about-greeting--v2 .about-greeting__label {margin:0; color:#e2670f; font-size:12.5px; font-weight:700; letter-spacing:2px; line-height:1;}
.about-greeting__title {margin:18px 0 0; color:#241a13; font-size:clamp(28px, 3vw, 40px); font-weight:900; line-height:1.34em; word-break:keep-all;}
.about-greeting__summary {max-width:520px; margin:26px 0 0; color:#4a3a2e; font-size:16.5px; font-weight:400; line-height:1.92em;}
.about-greeting--v2 .about-greeting__stats {flex:1; margin-top:44px;}
.about-greeting__stats {display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:0; margin:44px 0 0; padding:0; list-style:none; border:1px solid #efe4da; border-radius:16px; background:#fbf7f3; overflow:hidden;}
.about-greeting--v2 .about-greeting__stat {align-items:flex-start; justify-content:center; min-height:100%; height:100%; padding:32px 32px;}
.about-greeting--v2 .about-greeting__stat-label {font-size:15px; line-height:1.45;}
.about-greeting--v2 .about-greeting__stat-value {margin-top:14px; font-size:30px; line-height:1;}
.about-greeting__stat {display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:0; min-height:116px; padding:26px 28px; text-align:left;}
.about-greeting__stat + .about-greeting__stat {border-left:1px dashed #e0d2c5;}
.about-greeting__stat-label {color:#8a7565; font-size:12.5px; font-weight:700; line-height:1.4;}
.about-greeting__stat-value {margin-top:10px; color:#e2670f; font-size:28px; font-weight:900; line-height:1;}
.about-greeting--v2 .about-greeting__media {min-height:470px; height:470px; margin:0; border:none; border-radius:20px; background:#f4f0ec; overflow:hidden;}
.about-greeting--v2 .about-greeting__media img {display:block; width:100%; height:100%; object-fit:cover;}
.about-greeting__bottom {display:flex; flex-direction:column; gap:22px; padding-top:76px; padding-bottom:0;}
.about-greeting__bottom p {margin:0; color:#4a3a2e; font-size:16px; font-weight:400; line-height:1.95em;}
.about-greeting__closing {padding-top:8px; color:#241a13; font-size:17.5px; font-weight:700; line-height:1.85em;}
.about-greeting--v2 .about-greeting__sign {display:flex; flex-direction:row; align-items:center; justify-content:flex-end; gap:14px; margin-top:22px; padding-top:24px; border-top:1px solid #eadfd5; text-align:right;}
.about-greeting--v2 .about-greeting__sign-role {color:#8a7565; font-size:14px; font-weight:400; line-height:1.4;}
.about-greeting--v2 .about-greeting__sign-name {color:#241a13; font-size:24px; font-weight:900; line-height:1;}

/* organization */
.about-org__chart {width:100%; padding:48px 0 64px; background:transparent;}
.about-org__head {display:flex; flex-direction:column; align-items:center;}
.about-org__stem {width:1px; height:48px; background:#e0e0e0;}
.about-org__branches {--org-gap:20px; --org-cols:6; --org-line:#e0e0e0; position:relative; display:grid; grid-template-columns:repeat(6, minmax(0, 1fr)); gap:var(--org-gap); width:100%;}
.about-org__branches::before {content:""; position:absolute; top:0; left:calc((100% - (var(--org-cols) - 1) * var(--org-gap)) / var(--org-cols) / 2); right:calc((100% - (var(--org-cols) - 1) * var(--org-gap)) / var(--org-cols) / 2); height:1px; background:var(--org-line);}
.about-org__branch {position:relative; display:flex; flex-direction:column; align-items:stretch; padding-top:48px;}
.about-org__branch-line {position:absolute; top:0; left:50%; width:1px; height:48px; background:var(--org-line); transform:translateX(-50%);}
.about-org__node {display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center;}
.about-org__node--ceo {position:relative; z-index:1; flex-shrink:0; width:120px; height:120px; padding:0; border:none; border-radius:50%; background:var(--color-main); box-shadow:0 0 0 10px rgba(210, 108, 36, 0.12), 0 0 0 22px rgba(210, 108, 36, 0.06);}
.about-org__role {color:var(--color-text); font-size:15px; font-weight:700; line-height:1.35;}
.about-org__node--ceo .about-org__role {color:var(--color-white); font-size:18px; line-height:1.2;}
.about-org__dept {display:flex; flex-direction:column; width:100%; min-width:0;}
.about-org__dept-head {display:flex; align-items:center; justify-content:center; min-height:58px; padding:16px 14px; border-radius:10px; background:var(--color-main); box-shadow:0 6px 16px rgba(210, 108, 36, 0.22);}
.about-org__dept-head .about-org__role {color:var(--color-white); font-size:15px; text-align:center; word-break:keep-all;}
.about-org__dept-list {position:relative; margin:28px 0 0; padding:0; list-style:none; border-radius:12px; background:var(--color-bg-gray);}
.about-org__dept-list::before {content:""; position:absolute; top:-28px; left:50%; width:1px; height:28px; background:var(--color-border); transform:translateX(-50%);}
.about-org__dept-list::after {content:""; position:absolute; top:0; left:50%; width:8px; height:8px; border-radius:50%; background:var(--color-main); transform:translate(-50%, -50%);}
.about-org__dept-list li {padding:16px 14px; border-bottom:1px solid var(--color-border); color:var(--color-text-sub); font-size:14px; font-weight:500; line-height:1.45; text-align:center; word-break:keep-all;}
.about-org__dept-list li:last-child {border-bottom:0;}
.sub-content--layout:has(.about-org--v2) {padding:0 0 150px;}
.about-org--v2 {display:flex; flex-direction:column; gap:0;}
.about-org__intro {display:flex; flex-direction:column; align-items:center; text-align:center;}
.about-org__label {color:#e2670f; font-size:12.5px; font-weight:700; letter-spacing:0.18em; line-height:1;}
.about-org__title {margin:18px 0 0; color:#241a13; font-size:clamp(28px, 3vw, 38px); font-weight:900; line-height:1.35;}
.about-org__desc {max-width:660px; margin:16px auto 0; color:#6e5b4d; font-size:16px; line-height:1.85;}
.about-org__chart-wrap {margin-top:64px; padding:0;}
.about-org__chart-wrap .about-org__chart {max-width:var(--layout-content); margin:0 auto; padding:0;}
.about-org--v2 .about-org__head {display:flex; flex-direction:column; align-items:center; position:relative; z-index:1;}
.about-org--v2 .about-org__stem-dot {display:none;}
.about-org--v2 .about-org__stem {z-index:1; width:1px; height:48px; background:#dfd1c4;}
.about-org--v2 .about-org__branches {--org-gap:18px; --org-line:#dfd1c4; position:relative; gap:var(--org-gap); margin-top:0; padding-top:0;}
.about-org--v2 .about-org__branches::before {z-index:1;}
.about-org--v2 .about-org__branch {position:relative; padding-top:38px;}
.about-org--v2 .about-org__branch-line {position:absolute; top:0; left:50%; z-index:1; width:1px; height:38px; background:var(--org-line); transform:translateX(-50%);}
.about-org--v2 .about-org__node--ceo {display:flex; align-items:center; justify-content:center; width:auto; height:auto; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none;}
.about-org__ceo-ring {display:flex; align-items:center; justify-content:center; border-radius:50%;}
.about-org__ceo-ring--outer {width:192px; height:192px; border:none; background:#fdf0e5;}
.about-org__ceo-ring--mid {width:154px; height:154px; background:#fbe6d4;}
.about-org__ceo-core {display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; width:128px; height:128px; border-radius:50%; background:#e2670f; box-shadow:0 12px 14px rgba(226, 103, 15, 0.32);}
.about-org--v2 .about-org__ceo-label {color:rgba(255, 255, 255, 0.72); font-size:10px; font-weight:700; letter-spacing:1.4px; line-height:1;}
.about-org--v2 .about-org__node--ceo .about-org__role {color:var(--color-white); font-size:19px; font-weight:900; line-height:1.2;}
.about-org--v2 .about-org__dept-head {display:flex; flex-direction:column; align-items:center; justify-content:center; gap:0; min-height:0; padding:16px 12px 18px; border-radius:14px; background:#e2670f; box-shadow:0 10px 12px rgba(226, 103, 15, 0.24);}
.about-org--v2 .about-org__dept-num {color:rgba(255, 255, 255, 0.7); font-size:10.5px; font-weight:700; letter-spacing:1.26px; line-height:1; text-align:center;}
.about-org--v2 .about-org__dept-head .about-org__role {margin-top:0; color:var(--color-white); font-size:17.5px; font-weight:700; line-height:1.35; text-align:center;}
.about-org__dept-connector {width:1px; height:16px; margin:0 auto; background:#e4d6c9;}
.about-org--v2 .about-org__dept-list {margin-top:0; padding:6px 0; border:1px solid #efe4da; border-radius:14px; background:var(--color-white); box-shadow:0 4px 7px rgba(36, 26, 19, 0.04);}
.about-org--v2 .about-org__dept-list::before, .about-org--v2 .about-org__dept-list::after {display:none;}
.about-org--v2 .about-org__dept-list li {display:flex; align-items:center; justify-content:center; padding:13px 10px; border-bottom:0; color:#4a3a2e; font-size:16px; font-weight:500; line-height:1.45; text-align:center;}
.about-org--v2 .about-org__dept-list li::before {content:none; display:none;}

/* directions */
.about-location {display:flex; flex-direction:column; gap:40px;}
.about-location__map {overflow:hidden; height:500px; border:1px solid var(--color-border); border-radius:var(--radius-lg); background:var(--color-bg-gray);}
.about-location__map .root_daum_roughmap {width:100%; height:100%;}
.about-location__map .root_daum_roughmap .wrap_map {width:100%; height:100%;}
.about-location__map iframe, .about-location__map-canvas, .about-location__map .root_daum_roughmap {display:block; width:100%; height:100%; border:0;}
.about-location__map-info {padding:8px 12px; font-size:13px; white-space:nowrap;}
.about-location__map-popup {min-width:240px; max-width:320px; padding:16px 18px 14px; border:1px solid var(--color-border); border-radius:12px; background:var(--color-white); box-shadow:0 8px 24px rgba(0, 0, 0, 0.12); text-align:left;}
.about-location__map-popup-title {display:block; margin-bottom:8px; color:var(--color-text); font-size:15px; font-weight:700; line-height:1.4;}
.about-location__map-popup-line {margin:0 0 4px; color:#666; font-size:13px; line-height:1.5;}
.about-location__map-popup-link {display:inline-flex; align-items:center; justify-content:center; margin-top:12px; padding:8px 14px; border-radius:999px; background:#3182f6; color:var(--color-white); font-size:13px; font-weight:600; line-height:1; text-decoration:none; transition:background 0.2s ease;}
.about-location__map-popup-link:hover {background:#1b64da;}
.about-location__cards {display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:0; list-style:none;}
.about-location__card {display:flex; flex-direction:column; align-items:center; gap:22px; min-height:0; padding:32px 20px; text-align:center;}
.about-location__card:not(:last-child) {position:relative; border-right:0;}
.about-location__card:not(:last-child)::after {content:""; position:absolute; top:0; right:0; width:1px; height:100%; background:repeating-linear-gradient( to bottom, var(--color-border) 0, var(--color-border) 4px, transparent 4px, transparent 8px );}
.about-location__icon {display:flex; flex-shrink:0; align-items:center; justify-content:center; width:44px; height:44px; border-radius:50%; background:var(--color-main); line-height:0;}
.about-location__icon img {display:block; flex-shrink:0; width:24px; height:24px; object-fit:contain; object-position:center;}
.about-location__body {display:flex; flex-direction:column; align-items:center; gap:8px; width:100%; min-width:0;}
.about-location__label {color:var(--color-main); font-size:14px; font-weight:700; line-height:1;}
.about-location__value {color:var(--color-text); font-size:15px; font-weight:500; line-height:1.55; word-break:keep-all;}
.about-location__value a {color:inherit; text-decoration:none; transition:color 0.2s ease;}
.about-location__value a:hover {color:var(--color-main);}
.sub-content--layout:has(.about-location--v2) {padding:0 0 150px;}
.about-location--v2 {display:flex; flex-direction:column; gap:0;}
.about-location__head {display:flex; align-items:flex-end; justify-content:space-between; gap:24px;}
.about-location__head-text {display:flex; flex-direction:column; gap:0;}
.about-location__label {color:#e2670f; font-size:12.5px; font-weight:700; letter-spacing:2.25px; line-height:1;}
.about-location__title {margin:18px 0 0; color:#241a13; font-size:clamp(28px, 3vw, 38px); font-weight:900; line-height:1.35;}
.about-location__actions {display:flex; flex-wrap:wrap; gap:10px; flex-shrink:0;}
.about-location__btn {display:inline-flex; align-items:center; justify-content:center; gap:9px; padding:13px 14px 13px 22px; border:1px solid #e2d5c9; border-radius:999px; background:var(--color-white); color:#3a2c22; font-size:14.5px; font-weight:700; line-height:1; cursor:pointer; transition:border-color 0.2s, color 0.2s, background 0.2s;}
.about-location__btn:hover {border-color:#e2670f; color:#e2670f;}
.about-location__btn--primary {border-color:#e2670f; background:#e2670f; color:var(--color-white);}
.about-location__btn--primary:hover {background:#d85a12; border-color:#d85a12; color:var(--color-white);}
.about-location__btn-badge {display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; width:22px; height:22px; border-radius:11px; font-size:11px; font-weight:700; letter-spacing:0; line-height:1; text-align:center;}
.about-location__btn-badge--light {background:var(--color-white); color:#e2670f; padding-top:1px;}
.about-location__btn-badge--soft {background:#f7ede4; color:#e2670f;}
.about-location__main {display:grid; grid-template-columns:minmax(0, 912px) minmax(0, 480px); gap:40px; align-items:stretch; margin-top:34px;}
.about-location__main--split {grid-template-columns:repeat(2, minmax(0, 1fr)); gap:24px; align-items:stretch;}
.about-location--v2 .about-location__map {height:100%; min-height:496px; overflow:hidden; border:none; border-radius:20px; background:#f4f0ec;}
.about-location--v2 .about-location__main--split .about-location__photo, .about-location--v2 .about-location__main--split .about-location__map {min-height:0; height:480px; aspect-ratio:auto;}
.about-location--v2 .about-location__main--split .about-location__map {align-self:stretch;}
.about-location__photo {margin:0; overflow:hidden; border-radius:20px; background:#f4f0ec;}
.about-location__photo--placeholder {display:flex; align-items:center; justify-content:center; background:#eeeeee;}
.about-location__photo img {display:block; width:100%; height:100%; object-fit:cover; object-position:center center;}
.about-location__photo--placeholder img {width:80px; height:80px; max-width:80px; max-height:80px; object-fit:contain; object-position:center;}
.about-location--v2 .about-location__map-link {display:block; width:100%; height:100%;}
.about-location--v2 .about-location__map-link img {display:block; width:100%; height:100%; object-fit:cover; object-position:center center;}
.about-location__info {display:flex; flex-direction:column; justify-content:space-between; gap:40px; height:100%; min-height:496px; box-sizing:border-box; padding:40px 36px; border:1px solid #efe4da; border-radius:20px; background:#fbf7f3;}
.about-location__info-head {display:flex; gap:12px; align-items:center;}
.about-location__info-body {display:flex; flex-direction:column; gap:0; flex:1;}
.about-location--v2 .about-location__icon {display:flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:21px; background:#e2670f; flex-shrink:0;}
.about-location--v2 .about-location__icon img {width:24px; height:24px; filter:brightness(0) invert(1);}
.about-location__company {margin:0; color:#241a13; font-size:22px; font-weight:700; line-height:1.3;}
.about-location__address {margin:0; color:#241a13; font-size:18.5px; font-weight:700; line-height:1.6;}
.about-location__address-desc {margin:8px 0 0; color:#8a7565; font-size:15.5px; font-weight:400; line-height:1.5;}
.about-location__detail-group {margin-top:40px; padding-top:20px; border-top:1px dashed #e0d2c5;}
.about-location__detail-list {display:flex; flex-direction:column; gap:11px; margin:0; padding:0; list-style:none;}
.about-location__detail-list li {display:flex; align-items:baseline; gap:16px; color:#6e5b4d; font-size:14.5px; font-weight:400; line-height:1.5;}
.about-location__detail-list span {flex-shrink:0; color:#6e5b4d; font-weight:400;}
.about-location__detail-list strong, .about-location__detail-list a {color:#241a13; font-weight:700; text-decoration:none;}
.about-location__detail-list a:hover {color:#e2670f;}
.about-location__hours li.is-closed {color:#8a7565; font-size:13.5px;}
.about-location__transport-wrap {padding-top:64px; padding-bottom:0;}
.about-location__transport-title {margin:0; color:#241a13; font-size:30px; font-weight:900; line-height:1.2;}
.about-location__transport {display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:20px; margin-top:34px;}
.about-location__transport-card {display:flex; flex-direction:column; gap:0; padding:30px 28px 32px; border:1px solid #efe4da; border-radius:18px; background:var(--color-white);}
.about-location__transport-head {display:flex; align-items:center; gap:14px;}
.about-location__transport-icon {display:flex; align-items:center; justify-content:center; width:48px; height:48px; border-radius:24px; background:#e2670f; color:var(--color-white);}
.about-location__transport-icon .material-symbols-outlined {font-size:24px; font-variation-settings:"FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24;}
.about-location__transport-name {margin:0; color:#241a13; font-size:20px; font-weight:700; line-height:1.3;}
.about-location__transport-list {display:flex; flex-direction:column; gap:8px; margin:20px 0 0; padding:0; list-style:none;}
.about-location__transport-list li {display:flex; flex-wrap:wrap; align-items:flex-start; gap:0 10px; color:#6e5b4d; font-size:14.5px; font-weight:400; line-height:1.75;}
.about-location__transport-list li::before {content:""; flex-shrink:0; width:5px; height:5px; margin-top:0.62em; border-radius:50%; background:#e2670f;}
.about-location__transport-list strong {color:#241a13; font-weight:700;}
.about-location__transport--single {grid-template-columns:1fr; max-width:none; width:100%; margin-top:0;}
.about-location__transport--single .about-location__transport-card {flex-direction:row; align-items:center; gap:0; padding:36px 40px;}
.about-location__transport--single .about-location__transport-head {flex:0 0 20%; max-width:20%; box-sizing:border-box; padding-right:28px;}
.about-location__transport--single .about-location__transport-list {flex:0 0 80%; max-width:80%; box-sizing:border-box; margin:0; padding-left:40px; border-left:1px solid #efe4da;}

/* business */
.business-detail {display:grid; grid-template-columns:minmax(0, 520px) minmax(0, 1fr); gap:40px; align-items:start;}
.business-detail__media {overflow:hidden; width:100%; min-height:480px; margin:0; border-radius:var(--radius-lg); background:var(--color-bg-gray);}
.business-detail__media img {display:block; width:100%; height:100%; object-fit:cover;}
.business-detail__article {display:flex; flex-direction:column; gap:32px; padding:48px 56px; border-radius:var(--radius-lg); background:#f8f8f8;}
.business-detail__lead {color:var(--color-main); font-size:28px; font-weight:700; line-height:1.45;}
.business-detail__body {display:flex; flex-direction:column; gap:16px; color:var(--color-text); font-size:18px; font-weight:400; line-height:1.7;}
.business-detail__subblock {display:flex; flex-direction:column; gap:12px;}
.business-detail__subblock-title {margin:0; color:var(--color-text); font-size:20px; font-weight:600; line-height:1.3;}
.business-detail__bullet-list {display:flex; flex-direction:column; gap:8px; margin:0; padding:0; list-style:none;}
.business-detail__bullet-list li {position:relative; padding-left:14px; color:var(--color-text); font-size:17px; font-weight:500; line-height:1.6;}
.business-detail__bullet-list li::before {content:""; position:absolute; top:0.72em; left:0; width:4px; height:4px; border-radius:50%; background:var(--color-main);}
.business-detail__closing {display:flex; flex-direction:column; gap:10px; padding:24px; border-radius:var(--radius-md); background:var(--color-white);}
.business-detail__closing-title {margin:0; color:var(--color-main); font-size:20px; font-weight:700; line-height:1.4;}
.business-detail__closing-desc {margin:0; color:var(--color-text); font-size:16px; font-weight:400; line-height:1.7;}
.business-detail__features-wrap {display:flex; flex-direction:column; gap:24px;}
.business-detail__features-title {color:var(--color-text); font-size:24px; font-weight:600; line-height:1; margin:0;}
.business-detail__features {display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:20px; margin:0; padding:0; list-style:none;}
.business-detail__feature {display:flex; gap:16px; align-items:flex-start; margin:0; padding:24px; border-radius:var(--radius-md); background:var(--color-white);}
.business-detail__feature-icon {display:flex; flex-shrink:0; align-items:center; justify-content:center; width:44px; height:44px; border-radius:50%; background:var(--color-main); color:var(--color-white); line-height:0;}
.business-detail__feature-icon .material-symbols-outlined {font-size:22px; font-variation-settings:"FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24;}
.business-detail__feature-body {flex:1; min-width:0;}
.business-detail__feature-title {display:block; margin-bottom:8px; color:var(--color-text); font-size:18px; font-weight:600; line-height:1.3;}
.business-detail__feature-desc {color:#666; font-size:15px; font-weight:400; line-height:1.6;}
.business-detail__links {display:flex; flex-wrap:wrap; gap:12px;}
.business-detail__links .btn-pill {width:auto; min-width:136px; white-space:nowrap;}
.business-detail__links .btn-pill__text {white-space:nowrap;}
.business-detail__note {margin-top:24px; color:var(--color-text-muted, #666); font-size:14px; line-height:1.6;}
.business-detail__process {margin-top:48px; padding-top:48px; border-top:1px solid var(--color-border);}
.business-detail__process-title {margin-bottom:28px; color:var(--color-main); font-size:22px; font-weight:700; line-height:1.4;}
.business-detail__process-list {display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:20px; margin:0; padding:0; list-style:none;}
.business-detail__process-item {display:flex; gap:16px; align-items:flex-start; padding:24px; border:1px solid var(--color-border); border-radius:var(--radius-md); background:var(--color-white);}
.business-detail__process-step {flex-shrink:0; width:40px; color:var(--color-main); font-size:18px; font-weight:700; line-height:1.2;}
.business-detail__process-name {display:block; margin-bottom:8px; color:var(--color-text); font-size:17px; font-weight:600; line-height:1.4;}
.business-detail__process-desc {color:var(--color-text-muted, #666); font-size:14px; line-height:1.6;}
.business-detail--v2 {display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 576px); column-gap:58px; row-gap:0; align-items:start;}
.business-detail--v2 > .business-detail__media {grid-column:2; grid-row:1 / 5; min-height:520px; border-radius:var(--radius-lg); background:#f3f1eb;}
.business-detail--v2 > .business-detail__article {display:contents;}
.business-detail__label {grid-column:1; grid-row:1; margin-bottom:16px; color:var(--color-main); font-size:14px; font-weight:600; letter-spacing:0.12em; line-height:1;}
.business-detail--v2 .business-detail__lead {grid-column:1; grid-row:2; margin:0; color:var(--color-text); font-size:clamp(28px, 3vw, 40px); font-weight:700; line-height:1.35;}
.business-detail--v2 .business-detail__body {grid-column:1; grid-row:3; gap:12px; color:var(--color-text-sub); font-size:17px; line-height:1.75;}
.business-detail--v2 .business-detail__links {grid-column:1; grid-row:4; margin-top:8px;}
.business-detail--v2 .business-detail__features-wrap {grid-column:1 / -1; grid-row:5; margin:72px calc(50% - 50vw) 0; padding:64px calc(50vw - 50%); background:#f9f7f2;}
.business-detail__features-head {display:flex; align-items:baseline; justify-content:space-between; gap:24px; margin-bottom:36px; padding-bottom:20px; border-bottom:1px solid rgba(0, 0, 0, 0.08);}
.business-detail--v2 .business-detail__features-title {margin:0; font-size:24px; font-weight:700;}
.business-detail__features-sub {margin:0; color:var(--color-text-sub); font-size:14px; line-height:1.4; white-space:nowrap;}
.business-detail--v2 .business-detail__features {gap:0;}
.business-detail--v2 .business-detail__feature {padding:28px 0; border-radius:0; background:transparent; border-bottom:1px solid rgba(0, 0, 0, 0.08);}
.business-detail--v2 .business-detail__feature:nth-last-child(-n+2) {border-bottom:0;}
.business-detail--v2 .business-detail__subblock {grid-column:1 / -1; grid-row:6; display:grid; grid-template-columns:minmax(0, 380px) minmax(0, 1fr); gap:24px 64px; align-items:start; padding:72px 0 0;}
.business-detail--v2 .business-detail__subblock-title {grid-column:1; grid-row:1; font-size:24px; font-weight:700;}
.business-detail--v2 .business-detail__note {grid-column:1; grid-row:2; margin:12px 0 0; color:var(--color-text-sub); font-size:14px; line-height:1.6;}
.business-detail--v2 .business-detail__bullet-list {grid-column:2; grid-row:1 / 3; display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); column-gap:32px; row-gap:0;}
.business-detail--v2 .business-detail__bullet-list li {display:flex; align-items:center; gap:12px; padding:18px 0; border-bottom:1px solid var(--color-border); padding-left:0; font-size:16px; font-weight:500;}
.business-detail--v2 .business-detail__bullet-list li::before {position:static; top:auto; left:auto; flex-shrink:0; width:22px; height:22px; border-radius:50%; background:var(--color-main); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10' fill='none'%3E%3Cpath d='M1 5.2L4.2 8.4L11 1.6' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:center; background-size:10px 8px;}
.business-detail--v2 .business-detail__closing {display:none;}
.business-detail--v2 .business-detail__process {grid-column:1 / -1; grid-row:7; padding:72px 0 0;}
.business-detail--v2 .business-detail__process-title {margin:0 0 32px; font-size:24px; font-weight:700; text-align:center;}
.business-detail--v2 .business-detail__process-list {display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:20px; margin:0; padding:0; list-style:none;}
.business-detail--v2 .business-detail__process-item {display:flex; flex-direction:column; gap:16px; padding:28px 24px; border-radius:var(--radius-md); background:var(--color-white); box-shadow:0 4px 20px rgba(0, 0, 0, 0.05);}
.business-detail--v2 .business-detail__process-step {color:var(--color-main); font-size:18px; font-weight:700;}
.business-detail--v2 .business-detail__process-name {font-size:18px; font-weight:700;}
.business-detail--v2 .business-detail__process-desc {color:var(--color-text-sub); font-size:14px; line-height:1.65;}
.business-detail--v2 .business-detail__links .btn-pill:not(:first-child) {border:1px solid var(--color-border); background:var(--color-white);}
.business-detail--v2 .business-detail__links .btn-pill:not(:first-child):hover {border-color:var(--color-main);}

.business-detail--page.business-detail--v2 {display:flex; flex-direction:column; gap:0;}
.business-detail--page {display:flex; flex-direction:column; gap:0;}
.business-detail--page .business-detail__hero {display:grid; grid-template-columns:minmax(0, 1fr) 800px; gap:var(--space-40); justify-content:stretch; align-items:center; width:100%; max-width:var(--layout-content); padding:0 0 76px;}
.business-detail--page .business-detail__hero-main {max-width:688px;}
.business-detail--page .business-detail__label {color:#e2670f; font-size:12.5px; font-weight:700; letter-spacing:2px; line-height:1;}
.business-detail--page .business-detail__lead {margin:18px 0 0; color:#241a13; font-size:clamp(28px, 3vw, 40px); font-weight:900; line-height:1.34em;}
.business-detail--page .business-detail__lead p {margin:0;}
.business-detail--page .business-detail__body {max-width:520px; margin:26px 0 0; color:#4a3a2e; font-size:16.5px; font-weight:400; line-height:1.92em;}
.business-detail--page .business-detail__body p {margin:0;}
.business-detail--page .business-detail__links {display:flex; flex-wrap:wrap; gap:10px; margin-top:32px;}
.business-detail__action-btn {display:inline-flex; align-items:center; justify-content:center; gap:9px; padding:13px 14px 13px 22px; border:1px solid #e2d5c9; border-radius:999px; background:var(--color-white); color:#3a2c22; font-size:14.5px; font-weight:700; line-height:1; text-decoration:none; transition:border-color 0.2s, color 0.2s, background 0.2s;}
.business-detail__action-btn:hover {border-color:#e2670f; color:#e2670f;}
.business-detail__action-btn--primary {border-color:#e2670f; background:#e2670f; color:var(--color-white);}
.business-detail__action-btn--primary:hover {background:#d85a12; border-color:#d85a12; color:var(--color-white);}
.business-detail__action-badge {display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; width:22px; height:22px; border-radius:11px; font-size:11px; font-weight:700; letter-spacing:0; line-height:1; text-align:center;}
.business-detail__action-badge--light {background:var(--color-white); color:#e2670f; padding-top:1px;}
.business-detail__action-badge--soft {background:#f7ede4; color:#e2670f; padding-top:1px;}
.business-detail--page .business-detail__media {width:800px; max-width:100%; height:440px; min-height:440px; margin:0; overflow:hidden; border:none; border-radius:20px; background:#f4f0ec;}
.business-detail--page .business-detail__media img {display:block; width:100%; height:100%; object-fit:cover;}
.business-detail__stats {width:800px; max-width:100%; min-height:440px; display:flex; align-items:stretch;}
.business-detail__stats-list {display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); grid-template-rows:repeat(2, minmax(0, 1fr)); gap:0; width:100%; margin:0; padding:0; list-style:none; border:1px solid #efe4da; border-radius:20px; background:#fbf7f3; overflow:hidden;}
.business-detail__stat {display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:0; min-height:0; padding:40px 44px; text-align:left;}
.business-detail__stat:nth-child(odd) {border-right:1px dashed #e0d2c5;}
.business-detail__stat:nth-child(-n + 2) {border-bottom:1px dashed #e0d2c5;}
.business-detail__stat-label {color:#8a7565; font-size:15px; font-weight:700; line-height:1.45;}
.business-detail__stat-value {margin-top:16px; color:#e2670f; font-size:clamp(32px, 4vw, 44px); font-weight:900; line-height:1;}
.business-detail--page .business-detail__features-wrap {width:100vw; max-width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); padding:80px 0; border-top:1px solid #f0e6dc; border-bottom:1px solid #f0e6dc; background:#fbf7f3; box-sizing:border-box;}
.business-detail--page .business-detail__features-inner {width:100%; margin:0;}
.business-detail--page .business-detail__features-head {display:flex; justify-content:space-between; gap:24px; min-height:44px; margin:0; padding:0; border-bottom:0;}
.business-detail--page .business-detail__features-title {margin:0; color:#241a13; font-size:30px; font-weight:900; line-height:1.2;}
.business-detail--page .business-detail__features-sub {margin:0; padding-bottom:4px; color:#8a7565; font-size:13.5px; font-weight:400; line-height:1.4; white-space:nowrap;}
.business-detail--page .business-detail__features {display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); column-gap:64px; margin:34px 0 0; padding:0; list-style:none;}
.business-detail--page .business-detail__feature {display:grid; grid-template-columns:56px minmax(0, 1fr); column-gap:22px; align-items:start; padding:28px 0; border-top:1px solid #e7dace; border-bottom:0; background:transparent;}
.business-detail--page .business-detail__feature:nth-last-child(-n + 2) {border-bottom:1px solid #e7dace;}
.business-detail--page .business-detail__feature-icon {display:grid; place-items:center; flex-shrink:0; width:56px; height:56px; border-radius:28px; background:#e2670f; overflow:hidden; line-height:0;}
.business-detail--page .business-detail__feature-icon img {display:block; width:30px; height:30px; margin:0; padding:0; object-fit:contain; object-position:center; transform:none;}
.business-detail--page .business-detail__feature-body {display:flex; flex-direction:column; gap:0; min-width:0;}
.business-detail--page .business-detail__feature-title {display:block; color:#241a13; font-size:18px; font-weight:700; line-height:1.3;}
.business-detail--page .business-detail__feature-desc {margin:9px 0 0; color:#6e5b4d; font-size:14.5px; font-weight:400; line-height:1.75em;}
.business-detail--page .business-detail__subblock {display:grid; grid-template-columns:minmax(0, 539px) minmax(0, 824px); justify-content:space-between; gap:77px; align-items:start; max-width:var(--layout-content); margin:0 auto; padding:80px 0 0;}
.business-detail--page .business-detail__subblock-head {display:flex; flex-direction:column; gap:0;}
.business-detail--page .business-detail__subblock-title {margin:0; color:#241a13; font-size:30px; font-weight:900; line-height:1.2;}
.business-detail--page .business-detail__note {margin:14px 0 0; color:#8a7565; font-size:14px; font-weight:400; line-height:1.5;}
.business-detail--page .business-detail__bullet-list {display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); column-gap:48px; row-gap:0; margin:0; padding:0; list-style:none;}
.business-detail--page .business-detail__bullet-list li {display:flex; align-items:center; gap:16px; padding:20px 4px; border-bottom:1px solid #eadfd5; color:#3a2c22; font-size:16px; font-weight:500; line-height:1.4;}
.business-detail--page .business-detail__bullet-list li::before {content:""; flex-shrink:0; width:22px; height:22px; border-radius:11px; background-color:#fbe6d4; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10' fill='none'%3E%3Cpath d='M1 5.2L4.2 8.4L11 1.6' stroke='%23e2670f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:center; background-size:12px 10px;}
.business-detail--page .business-detail__subblock--usecases {display:flex; flex-direction:column; gap:40px; max-width:var(--layout-content); margin:0 auto; padding:80px 0 0;}
.business-detail--page .business-detail__subblock--usecases .business-detail__subblock-head {max-width:640px;}
#page-business-chain .business-detail__subblock--usecases .oem-story__cards {width:100%; max-width:none; margin:0; grid-template-columns:repeat(3, minmax(0, 1fr));}
.business-detail--page .business-detail__usecases {display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:24px; margin:0; padding:0; list-style:none;}
.business-detail--page .business-detail__usecase {display:flex; flex-direction:column; overflow:hidden; border:1px solid #eadfd5; border-radius:16px; background:var(--color-white);}
.business-detail--page .business-detail__usecase-media {margin:0; aspect-ratio:16 / 10; overflow:hidden; background:#ebe8e3;}
.business-detail--page .business-detail__usecase-media img {display:block; width:100%; height:100%; object-fit:cover;}
.business-detail--page .business-detail__usecase-body {display:flex; align-items:center; justify-content:center; gap:12px; min-height:76px; padding:20px 20px; background:var(--color-white); text-align:center;}
.business-detail--page .business-detail__usecase-num {flex-shrink:0; color:#e2670f; font-size:20px; font-weight:700; line-height:1.2;}
.business-detail--page .business-detail__usecase-title {color:#241a13; font-size:18px; font-weight:700; line-height:1.35;}
.business-detail--page .business-detail__closing {display:block; max-width:var(--layout-content); margin:64px auto 0; padding:48px 0 0; border-top:1px solid #eadfd5; text-align:center;}
.business-detail--page .business-detail__closing-title {margin:0; color:#241a13; font-size:24px; font-weight:900; line-height:1.4;}
.business-detail--page .business-detail__closing-desc {margin:12px 0 0; color:#6e5b4d; font-size:15.5px; line-height:1.7;}
.business-detail--page .business-detail__process {grid-column:auto; grid-row:auto; width:100vw; max-width:100vw; margin:80px 0 0; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); padding:80px 0; border-top:1px solid #f0e6dc; border-bottom:1px solid #f0e6dc; background:#fbf7f3; box-sizing:border-box;}
.business-detail--page .business-detail__process-title {width:100%; margin:0 0 34px; color:#241a13; font-size:30px; font-weight:900; text-align:left;}
.business-detail--page .business-detail__process-list {display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:18px; width:100%; margin:0;}
.business-detail--page .business-detail__process-item {padding:28px 24px; border:1px solid #efe4da; border-radius:16px; background:var(--color-white); box-shadow:none;}
.business-detail--page .business-detail__process-step {color:#e2670f;}
.business-detail--page .business-detail__process-name {color:#241a13;}
.business-detail--page .business-detail__process-desc {color:#6e5b4d;}
.business-detail__subblock--gallery.business-detail__subblock--usecases {width:100%; max-width:var(--layout-content);}
.business-detail__subblock--gallery .business-detail__subblock-head {max-width:none; width:100%;}
.business-detail__subblock--gallery .business-detail__usecase-body {display:none;}
.business-detail__subblock--gallery .business-detail__usecases {width:100%; grid-template-columns:repeat(3, minmax(0, 1fr));}
.business-detail__subblock--gallery .business-detail__usecase {display:block;}
.business-detail__subblock--gallery .business-detail__usecase-media {aspect-ratio:auto; width:100%; height:244px; max-height:none;}
.business-detail__subblock--gallery .business-detail__usecase-media img {width:100%; height:100%; object-fit:cover; object-position:center;}
.business-detail__subblock--gallery .business-detail__usecase-media--placeholder {display:flex; align-items:center; justify-content:center; background:#eeeeee;}
.business-detail__subblock--gallery .business-detail__usecase-media--placeholder img {width:80px; height:80px; max-width:80px; max-height:80px; object-fit:contain; object-position:center;}

.oem-story {display:flex; flex-direction:column; gap:0; width:100%; max-width:var(--layout-content); margin:0 auto; padding:0; border-top:none; box-sizing:border-box;}
.sub-content--layout:has(.oem-story) {padding:0 0 150px; overflow-x:clip;}
.oem-story__section--hero {padding-top:88px;}
.oem-story__section {box-sizing:border-box;}
.oem-story__section--hero {display:flex; flex-direction:column; align-items:center; width:min(var(--layout-content), calc(100% - 40px)); margin-inline:auto; padding:0 0 100px; text-align:center;}
.oem-story__section--hero .oem-story__title, .oem-story__section--hero .oem-story__lead, .oem-story__section--hero .oem-story__emph {width:100%;}
.oem-story__badge {display:inline-block; margin-bottom:18px; padding:8px 16px; border-radius:var(--radius-pill); background:#f7ede4; color:#e2670f; font-size:13px; font-weight:700; letter-spacing:0.02em; text-transform:none;}
.oem-story__title, .oem-story__heading, .oem-story__subheading, .oem-story__cta-title {margin:0 0 18px; color:#241a13; font-size:clamp(28px, 3vw, 40px); font-weight:900; line-height:1.34;}
.oem-story__lead, .oem-story__note, .oem-story__cta-desc {margin:0 0 14px; color:#4a3a2e; font-size:16.5px; font-weight:400; line-height:1.92;}
.oem-story__emph {margin:0 0 36px; color:#4a3a2e; font-size:18px; font-weight:600; line-height:1.6;}
.oem-story__emph strong {color:#e2670f; font-weight:800;}
.oem-story__figure {margin:40px 0 0; border:1px solid #efe4da; border-radius:20px; overflow:hidden; background:var(--color-white);}
.oem-story__section--hero .oem-story__figure {align-self:stretch; width:100%; height:clamp(220px, 33vw, 480px); margin:40px 0 0; aspect-ratio:auto; max-height:none;}
.oem-story__figure img {display:block; width:100%; height:100%; object-fit:cover; object-position:center;}
.oem-story__section--problem {width:100vw; max-width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); padding:100px 20px; border-top:1px solid #f0e6dc; background:#fbf7f3; box-sizing:border-box;}
.oem-story__inner {width:min(var(--layout-content), calc(100% - 40px)); margin-inline:auto; text-align:center;}
.oem-story__section--problem .oem-story__badge {margin-bottom:18px;}
.oem-story__section--problem .oem-story__heading {margin-top:0;}
.oem-story__section--problem .oem-story__desc {margin-bottom:0;}
.oem-story__section--problem .oem-story__cards {margin-top:64px;}
.oem-story__cards {display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:20px; margin:36px 0 28px; padding:0; list-style:none;}
.oem-story__card {display:flex; flex-direction:row; align-items:center; justify-content:space-between; gap:20px; padding:32px 24px; border:1px solid #efe4da; border-radius:16px; background:var(--color-white); box-shadow:none; text-align:left;}
.oem-story__card-body {flex:1; min-width:0;}
.oem-story__card-icon {display:grid; place-items:center; flex-shrink:0; width:52px; height:52px; margin:0; border-radius:26px; background:#e2670f;}
.oem-story__card-icon img {display:block; width:30px; height:30px; object-fit:contain;}
.oem-story__card-num {display:block; margin-bottom:10px; color:#e2670f; font-size:13px; font-weight:700; letter-spacing:0.08em;}
.oem-story__card p {margin:0; color:#241a13; font-size:calc(16px + 2pt); font-weight:600; line-height:1.55;}
.oem-story__note {color:#4a3a2e; font-size:16.5px; font-weight:400; line-height:1.92;}
.oem-story__desc {margin:0 0 36px; color:#4a3a2e; font-size:18px; font-weight:600; line-height:1.6;}
.oem-story__desc strong {color:#e2670f; font-weight:800;}
.oem-story__subheading {margin-top:28px;}
.oem-story__section--cta {position:relative; width:100vw; max-width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); padding:120px 20px; overflow:hidden; border-top:1px solid #f0e6dc; background:var(--color-main-dark) url("/images/sub/oem-story-cta-bg.jpg") no-repeat center / cover; color:var(--color-white); text-align:center; box-sizing:border-box;}
.oem-story__cta-overlay {position:absolute; inset:0; background:rgba(0, 0, 0, 0.5);}
.oem-story__cta-inner {position:relative; z-index:1; width:min(var(--layout-content), calc(100% - 40px)); margin-inline:auto;}
.oem-story__cta-title {margin:0 0 28px; color:var(--color-white); font-size:clamp(28px, 3vw, 42px); font-weight:700; line-height:1.34;}
.oem-story__cta-desc {margin:0 0 40px; color:var(--color-white); font-size:18px; font-weight:400; line-height:1.92;}
.oem-story__cta-btn {display:inline-flex; width:auto; max-width:100%; margin-top:0; min-width:0;}
.oem-story__cta-links {margin-top:0; justify-content: center;}

/* menu */
.menu-grid {display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:24px; margin-top:30px; list-style:none;}
.menu-card {display:flex; flex-direction:column; border:none; border-radius:var(--radius-md); background:var(--color-white); overflow:hidden; transition:box-shadow 0.25s ease, transform 0.25s ease;}
.menu-card:hover {box-shadow:0 12px 32px rgba(0, 0, 0, 0.08); transform:translateY(-2px);}
.menu-card__thumb {position:relative; width:100%; aspect-ratio:4 / 3; overflow:hidden; border:none; background:#eeeeee;}
.menu-card__thumb .no-image {position:absolute; top:50%; left:50%; width:64px; height:64px; object-fit:contain; transform:translate(-50%, -50%);}
.menu-card__thumb img:not(.no-image) {position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover;}
.menu-card__body {display:flex; flex-direction:column; gap:4px; padding:20px; border:1px solid var(--color-border); border-top:0; border-radius:0 0 var(--radius-md) var(--radius-md);}
.menu-card__title {color:var(--color-text); font-size:calc(18px + 2pt); font-weight:600; line-height:1.4;}
.menu-card__desc {color:var(--color-text-muted); font-size:14px;}
.menu-card__price {margin-top:12px; color:var(--color-main); font-size:22px; font-weight:700;}
.menu-card__price-unit {margin-left:2px; font-size:15px; font-weight:400;}
.menu-card--more {display:none;}
.menu-more {display:flex; justify-content:center; margin-top:56px;}
.menu-more__btn {display:inline-flex; align-items:center; gap:10px; padding:15px 32px; border:1px solid var(--color-border); border-radius:var(--radius-pill); background:var(--color-white); color:var(--color-text); font-size:16px; font-weight:500; cursor:pointer; transition:background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;}
.menu-more__btn:hover {background:var(--color-main); border-color:var(--color-main); color:var(--color-white);}
.menu-more__icon {width:18px; height:18px;}
.menu-more__icon--on {display:none;}
.menu-more__btn:hover .menu-more__icon--off {display:none;}
.menu-more__btn:hover .menu-more__icon--on {display:block;}

/* price */
.price-sheet--v2 {margin-top:0;}
.price-sheet__header {display:grid; grid-template-columns:minmax(0, 1fr) minmax(280px, 408px); gap:32px; align-items:start; margin-bottom:32px;}
.price-sheet--v2 .price-sheet__intro {padding:0; border:0; border-radius:0; background:transparent;}
.price-sheet__label {display:block; margin-bottom:16px; color:var(--color-main); font-size:14px; font-weight:600; letter-spacing:0.12em; line-height:1;}
.price-sheet--v2 .price-sheet__heading {margin:0; color:#241a13; font-size:clamp(28px, 3vw, 36px); font-weight:900; line-height:1.35;}
.price-sheet--v2 .price-sheet__desc {margin-top:16px; font-size:16px; line-height:1.75;}
.price-sheet--v2 .price-sheet__note {margin-top:14px;}
.price-sheet__inquiry {padding:26px 28px 28px; border:1px solid #efe4da; border-radius:18px; background:#fbf7f3; color:#6e5b4d;}
.price-sheet__inquiry-title {margin:0; color:#241a13; font-size:13.5px; font-weight:700; line-height:1.3;}
.price-sheet__inquiry-desc {margin:12px 0 0; color:#6e5b4d; font-size:14px; font-weight:400; line-height:1.8;}
.price-sheet__inquiry-list {display:flex; flex-direction:column; gap:7px; margin:18px 0 0; padding:16px 0 0; border-top:1px solid #eadfd5; list-style:none;}
.price-sheet__inquiry-list li {display:flex; align-items:baseline; gap:16px; color:#6e5b4d; font-size:14px; font-weight:400; line-height:1.5;}
.price-sheet__inquiry-list span {flex-shrink:0; min-width:3.5em; color:#6e5b4d; font-weight:400;}
.price-sheet__inquiry-list strong {color:#241a13; font-weight:700;}
.price-sheet--v2 .price-sheet__grains {margin-top:28px; padding:18px 24px; border:1px solid var(--color-border); border-radius:var(--radius-md); background:var(--color-white);}
.price-sheet--v2 .price-sheet__grains li.is-active {color:var(--color-main); font-weight:700;}
.price-sheet--v2 .price-sheet__grains li:first-child {color:inherit; font-weight:inherit;}
.price-table thead th {text-align:center;}
.sub-content--layout:has(.price-sheet--pizza), .sub-content--layout:has(.price-sheet--chicken), .sub-content--layout:has(.price-sheet--info) {padding:0 0 150px;}
.price-sheet--pizza, .price-sheet--chicken, .price-sheet--info {padding-top:0; margin-top:0;}
.price-sheet--pizza .price-sheet__header, .price-sheet--chicken .price-sheet__header, .price-sheet--info .price-sheet__header {grid-template-columns:minmax(0, 965px) minmax(280px, 408px); gap:67px; align-items:stretch; margin-bottom:0;}
.price-sheet--pizza .price-sheet__inquiry, .price-sheet--chicken .price-sheet__inquiry, .price-sheet--info .price-sheet__inquiry {display:flex; flex-direction:column; justify-content:center; height:100%; box-sizing:border-box;}
.price-sheet--pizza .price-sheet__note, .price-sheet--chicken .price-sheet__note, .price-sheet--info .price-sheet__note {display:flex; align-items:flex-start; gap:9px; margin:18px 0 0;}
.price-sheet--pizza .price-sheet__note-mark, .price-sheet--chicken .price-sheet__note-mark, .price-sheet--info .price-sheet__note-mark {flex-shrink:0; color:#e2670f; font-family:"Noto Sans KR", "Malgun Gothic", sans-serif; font-size:15px; font-weight:900; line-height:1.7;}
.price-sheet--pizza .price-sheet__note-text, .price-sheet--chicken .price-sheet__note-text, .price-sheet--info .price-sheet__note-text {color:#b4560a; font-size:15px; font-weight:500; line-height:1.7;}
.price-sheet--pizza .price-sheet__label, .price-sheet--chicken .price-sheet__label, .price-sheet--info .price-sheet__label {margin-bottom:0; color:#e2670f; font-size:12.5px; font-weight:700; letter-spacing:2.25px;}
.price-sheet--pizza .price-sheet__heading, .price-sheet--chicken .price-sheet__heading, .price-sheet--info .price-sheet__heading {margin-top:16px; font-weight:900;}
.price-sheet--pizza .price-sheet__desc, .price-sheet--chicken .price-sheet__desc, .price-sheet--info .price-sheet__desc {margin:20px 0 0; color:#4a3a2e; font-size:16.5px; font-weight:400; line-height:1.9;}
.price-sheet--pizza .price-sheet__grains-bar {display:flex; flex-wrap:wrap; align-items:center; gap:12px; width:100%; max-width:100%; box-sizing:border-box; margin-top:20px; padding:0; border:none; border-radius:0; background:transparent;}
.price-sheet--pizza .price-sheet__grains-label {flex-shrink:0; padding-right:4px; color:#e2670f; font-size:13px; font-weight:700; letter-spacing:0.78px; line-height:1;}
.price-sheet--pizza .price-sheet__grains {display:flex; flex-wrap:wrap; flex:1 1 auto; gap:10px; margin:0; padding:0; border:none; border-radius:0; background:transparent; list-style:none;}
.price-sheet--pizza .price-sheet__grains li {display:inline-flex; align-items:center; gap:8px; padding:0; border:none; border-radius:0; background:transparent; color:#4a3a2e; font-size:14px; font-weight:500; line-height:1;}
.price-sheet--pizza .price-sheet__grain-icon {display:block; flex-shrink:0; width:28px; height:28px; padding:6px; box-sizing:content-box; border-radius:50%; background:rgba(226, 103, 15, 0.04); object-fit:contain;}
.price-sheet--pizza .price-sheet__table-wrap, .price-sheet--chicken .price-sheet__table-wrap, .price-sheet--info .price-sheet__table-wrap {margin-top:40px; overflow:hidden; border:1px solid #eadfd5; border-radius:16px; background:var(--color-white);}
.price-sheet--pizza .price-table, .price-sheet--chicken .price-table {width:100%; min-width:0; table-layout:fixed; border-collapse:collapse;}
.price-sheet--pizza .price-table__col-item, .price-sheet--chicken .price-table__col-item {width:37.5%;}
.price-sheet--pizza .price-table__col-unit, .price-sheet--chicken .price-table__col-unit {width:5.85%;}
.price-sheet--pizza .price-table__col-spec, .price-sheet--chicken .price-table__col-spec {width:15.85%;}
.price-sheet--pizza .price-table__col-weight, .price-sheet--chicken .price-table__col-weight {width:14.2%;}
.price-sheet--pizza .price-table__col-supply, .price-sheet--chicken .price-table__col-supply, .price-sheet--pizza .price-table__col-vat, .price-sheet--chicken .price-table__col-vat, .price-sheet--pizza .price-table__col-total, .price-sheet--chicken .price-table__col-total {width:8.85%;}
.price-sheet--pizza .price-table thead, .price-sheet--chicken .price-table thead {background:#e2670f;}
.price-sheet--pizza .price-table thead th, .price-sheet--chicken .price-table thead th {padding:22px 12px; background:#e2670f; border:none; border-left:1px solid rgba(255, 255, 255, 0.22); color:var(--color-white); font-size:14.5px; font-weight:700; line-height:1.3; text-align:center; vertical-align:middle;}
.price-sheet--pizza .price-table thead th:first-child, .price-sheet--chicken .price-table thead th:first-child {border-left:none;}
.price-sheet--pizza .price-table thead th[colspan], .price-sheet--chicken .price-table thead th[colspan] {padding:11px 8px; border-bottom:1px solid rgba(255, 255, 255, 0.22); font-size:14px;}
.price-sheet--pizza .price-table thead tr:last-child th, .price-sheet--chicken .price-table thead tr:last-child th {padding:12px 6px; border-bottom:none; font-size:13.5px;}
.price-sheet--pizza .price-table tbody th, .price-sheet--pizza .price-table tbody td, .price-sheet--chicken .price-table tbody th, .price-sheet--chicken .price-table tbody td {padding:16px 12px; border:none; border-top:1px solid #eadfd5; border-left:1px solid #f0e6dc; background:var(--color-white); color:#4a3a2e; font-size:14.5px; font-weight:400; line-height:1.4; text-align:center; vertical-align:middle;}
.price-sheet--pizza .price-table tbody th:first-child, .price-sheet--pizza .price-table tbody td:first-child, .price-sheet--chicken .price-table tbody th:first-child, .price-sheet--chicken .price-table tbody td:first-child {border-left:none;}
.price-sheet--pizza .price-table tbody th, .price-sheet--chicken .price-table tbody th {padding:16px 20px; color:#3a2c22; font-size:14px; font-weight:500; text-align:center; vertical-align:middle;}
.price-sheet--pizza .price-table tbody tr:nth-child(even) th, .price-sheet--pizza .price-table tbody tr:nth-child(even) td:not([rowspan]), .price-sheet--chicken .price-table tbody tr:nth-child(even) th, .price-sheet--chicken .price-table tbody tr:nth-child(even) td:not([rowspan]) {background:var(--color-white);}
.price-sheet--pizza .price-table__total, .price-sheet--chicken .price-table__total {background:#fdf7f1 !important; color:#241a13; font-size:16px; font-weight:700;}
.price-sheet--pizza .price-sheet__notice, .price-sheet--chicken .price-sheet__notice {display:flex; align-items:flex-start; gap:9px; margin-top:22px; padding-bottom:0;}
.price-sheet--pizza .price-sheet__notice-mark, .price-sheet--chicken .price-sheet__notice-mark {flex-shrink:0; color:#b09a88; font-size:13.5px; line-height:1.7;}
.price-sheet--pizza .price-sheet__notice-text, .price-sheet--chicken .price-sheet__notice-text {color:#8a7565; font-size:13.5px; font-weight:400; line-height:1.7;}
.price-info-table th {text-align:center; vertical-align:middle;}
.price-sheet.price-sheet--v2 .price-sheet__intro > .price-sheet__heading {font-weight:900;}

/* oem */
#page-oem .business-detail__subblock--dough-types {display:flex; flex-direction:column; gap:40px; width:100%; max-width:var(--layout-content); margin:0 auto; padding:100px 0 0; box-sizing:border-box;}
#page-oem .business-detail__subblock--dough-types .business-detail__subblock-head {width:100%; max-width:none; margin:0; text-align:left;}
#page-oem .business-detail__subblock--dough-types .business-detail__subblock-title {margin:0 0 12px; color:#241a13; font-size:30px; font-weight:900; line-height:1.2;}
#page-oem .business-detail__subblock--dough-types .business-detail__note {margin:0; text-align:left;}
#page-oem .business-detail__subblock--dough-types .oem-dough-types {width:100%;}
.oem-dough-types {display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:28px; margin:0; padding:0; list-style:none;}
.oem-dough-types__item {display:flex; flex-direction:column; overflow:hidden; border:1px solid #eadfd5; border-radius:16px; background:var(--color-white);}
.oem-dough-types__media {margin:0; aspect-ratio:4 / 3;  overflow:hidden; background:#ebe8e3;}
.oem-dough-types__media img {display:block; width:100%; height:100%; object-fit:cover;}
.oem-dough-types__body {display:flex; flex:1; flex-direction:column; gap:12px; min-height:120px; padding:28px 24px 32px;}
.oem-dough-types__title {color:#241a13; font-size:22px; font-weight:700; line-height:1.35;}
.oem-dough-types__desc {margin:0; color:#6e5b4d; font-size:16px; line-height:1.65;}
#page-oem .business-detail__process-title {width:100%; margin:0 0 34px;}
#page-oem .business-detail__process-list {width:100%; margin:0;}
#page-oem .business-detail__subblock--usecases {width:100%; max-width:var(--layout-content); margin:0 auto; padding:100px 0 0; border-top:none; background:transparent; box-sizing:border-box; align-items:stretch;}
#page-oem .business-detail__subblock--usecases .business-detail__subblock-head {width:min(var(--layout-content), calc(100% - 40px)); max-width:none; margin-inline:auto; text-align:left;}
#page-oem .business-detail__subblock--usecases .business-detail__subblock-title, #page-oem .business-detail__subblock--usecases .business-detail__note {text-align:left;}
#page-oem .business-detail__subblock--usecases .business-detail__usecases {width:min(var(--layout-content), calc(100% - 40px)); margin-inline:auto;}
#page-oem .sub-content--layout:has(.business-detail__subblock--usecases:last-child) {padding-bottom:150px;}
