@charset "utf-8";

.location-page {
    padding:40px 0 100px;
    color:#222;
}

.location-intro {
    margin-bottom:38px;
}

.location-eyebrow {
    display:block;
    margin-bottom:8px;
    color:#b39f6c;
    font-size:16px;
    font-weight:700;
    letter-spacing:.12em;
}

.location-intro h3 {
    margin:0;
    color:#222;
    font-size:36px;
    line-height:1.35;
    font-weight:700;
    letter-spacing:-.05em;
}

.location-intro p {
    margin:10px 0 0;
    color:#777;
    font-size:18px;
    line-height:1.7;
}

.location-map {
    position:relative;
    overflow:hidden;
    border-radius:18px;
    background:#f4f4f4;
    box-shadow:0 14px 40px rgba(0,0,0,.06);
}

.location-map .root_daum_roughmap {
    width:100% !important;
}

.location-map .wrap_map {
    width:100% !important;
}

.location-info {
    display:grid;
    grid-template-columns:2fr 1fr 1fr;
    margin-top:24px;
    border:1px solid #e8e4da;
    border-radius:16px;
    background:#fff;
    overflow:hidden;
}

.location-info-item {
    min-height:130px;
    padding:28px 30px;
    display:flex;
    align-items:center;
    gap:18px;
    box-sizing:border-box;
}

.location-info-item + .location-info-item {
    border-left:1px solid #e8e4da;
}

.location-info-icon {
    flex:0 0 auto;
    width:52px;
    height:52px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#f4f0e6;
    color:#8e7a4b;
}

.location-info-icon svg {
    width:24px;
    height:24px;
    stroke-width:1.8;
}

.location-info-item strong {
    display:block;
    margin-bottom:5px;
    color:#777;
    font-size:16px;
    font-weight:600;
}

.location-info-item p {
    margin:0;
    color:#222;
    font-size:19px;
    font-weight:600;
    line-height:1.5;
}

.location-info-item a {
    color:inherit;
    text-decoration:none;
}

.location-info-item a:hover,
.location-info-item a:focus-visible {
    color:#8e7a4b;
}

.location-guide {
    margin-top:64px;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
}

.location-guide-card {
    position:relative;
    padding:32px;
    border:1px solid #e8e4da;
    border-radius:18px;
    background:#fff;
    box-sizing:border-box;
    transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}

.location-guide-card:hover {
    transform:translateY(-4px);
    border-color:#d8ccb0;
    box-shadow:0 16px 34px rgba(90,76,44,.08);
}

.location-guide-head {
    display:flex;
    align-items:center;
    gap:16px;
    padding-bottom:24px;
    border-bottom:1px solid #eee;
}

.location-guide-icon {
    flex:0 0 auto;
    width:54px;
    height:54px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:14px;
    background:#b39f6c;
    color:#fff;
}

.location-guide-icon svg {
    width:27px;
    height:27px;
    stroke-width:1.8;
}

.location-guide-head span:not(.location-guide-icon) {
    display:block;
    margin-bottom:2px;
    color:#b39f6c;
    font-size:14px;
    font-weight:700;
    letter-spacing:.1em;
}

.location-guide-head h4 {
    margin:0;
    color:#222;
    font-size:23px;
    line-height:1.35;
    font-weight:700;
    letter-spacing:-.04em;
}

.location-guide-body {
    padding-top:24px;
    color:#555;
    font-size:18px;
    line-height:1.8;
}

.location-guide-body p {
    margin:0;
}

.location-guide-body strong {
    color:#333;
    font-weight:700;
}

.location-route {
    margin:0;
    padding:0;
    list-style:none;
}

.location-route li {
    position:relative;
    padding-left:48px;
}

.location-route li + li {
    margin-top:18px;
}

.route-number {
    position:absolute;
    top:1px;
    left:0;
    width:34px;
    height:34px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#f4f0e6;
    color:#8e7a4b;
    font-size:13px;
    font-weight:700;
}

.road-route + .road-route {
    margin-top:22px;
    padding-top:22px;
    border-top:1px solid #eee;
}

.road-route strong {
    display:block;
    margin-bottom:6px;
    color:#8e7a4b;
    font-size:17px;
}

.road-route p {
    color:#555;
}

@media (max-width:1100px) {
    .location-guide {
        grid-template-columns:1fr;
    }

    .location-info {
        grid-template-columns:1fr;
    }

    .location-info-item + .location-info-item {
        border-left:0;
        border-top:1px solid #e8e4da;
    }
}

@media (max-width:768px) {
    .location-page {
        padding-bottom:70px;
    }

    .location-intro {
        margin-bottom:28px;
    }

    .location-intro h3 {
        font-size:30px;
    }

    .location-map {
        border-radius:12px;
    }

    .location-info-item {
        min-height:auto;
        padding:22px;
    }

    .location-info-icon {
        width:46px;
        height:46px;
    }

    .location-info-item p {
        font-size:17px;
    }

    .location-guide {
        margin-top:42px;
        gap:16px;
    }

    .location-guide-card {
        padding:24px;
        border-radius:14px;
    }

    .location-guide-head h4 {
        font-size:21px;
    }

    .location-guide-body {
        font-size:17px;
    }
}

.organization-page {
    padding:40px 0 100px;
    color:#222;
}

.organization-intro {
    margin-bottom:50px;
}

.organization-eyebrow {
    display:block;
    margin-bottom:8px;
    color:#b39f6c;
    font-size:16px;
    font-weight:700;
    letter-spacing:.12em;
}

.organization-intro h3 {
    margin:0;
    color:#222;
    font-size:36px;
    line-height:1.35;
    font-weight:700;
    letter-spacing:-.05em;
}

.organization-intro p {
    margin:10px 0 0;
    color:#777;
    font-size:18px;
    line-height:1.7;
}

.organization-chart {
    position:relative;
    max-width:1100px;
    margin:0 auto;
    padding:10px 0 20px;
}

.organization-top {
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:center;
}

.organization-card {
    position:relative;
    width:280px;
    min-height:110px;
    padding:26px 24px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    border-radius:18px;
    box-sizing:border-box;
    text-align:center;
}

.organization-card strong {
    margin-top:4px;
    font-size:24px;
    line-height:1.3;
    font-weight:700;
}

.organization-position {
    font-size:16px;
    font-weight:600;
}

.organization-director {
    background:#b39f6c;
    color:#fff;
    box-shadow:0 16px 36px rgba(179,159,108,.22);
}

.organization-director .organization-position {
    color:rgba(255,255,255,.85);
}

.organization-manager {
    border:1px solid #ddd5c2;
    background:#fff;
    color:#222;
    box-shadow:0 12px 30px rgba(0,0,0,.05);
}

.organization-manager .organization-position {
    color:#8e7a4b;
}

.organization-line-vertical {
    width:1px;
    height:46px;
    background:#d5cdbb;
}

/* 과장 아래 분기선 */
.organization-branch {
    position:relative;
    width:70%;
    height:78px;
    margin:0 auto;
}

.branch-line-center {
    position:absolute;
    top:0;
    left:50%;
    width:1px;
    height:40px;
    background:#d5cdbb;
    transform:translateX(-50%);
}

.branch-line-horizontal {
    position:absolute;
    top:40px;
    left:14%;
    width:72%;
    height:1px;
    background:#d5cdbb;
}

/* 하단 사업 영역 */
.organization-services {
    position:relative;
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:34px;
}

.organization-services:before,
.organization-services:after {
    position:absolute;
    top:-38px;
    width:1px;
    height:38px;
    background:#d5cdbb;
    content:"";
}

.organization-services:before {
    left:25%;
}

.organization-services:after {
    right:25%;
}

.service-team {
    position:relative;
    padding:32px;
    border:1px solid #e8e4da;
    border-radius:18px;
    background:#fff;
    box-shadow:0 12px 34px rgba(0,0,0,.045);
}

.service-team-head {
    display:flex;
    align-items:center;
    gap:18px;
    padding-bottom:24px;
    border-bottom:1px solid #eee;
}

.service-team-icon {
    flex:0 0 auto;
    width:58px;
    height:58px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:16px;
    background:#f4f0e6;
    color:#8e7a4b;
}

.service-team-icon svg {
    width:28px;
    height:28px;
    stroke-width:1.8;
}

.service-team-label {
    display:block;
    margin-bottom:3px;
    color:#b39f6c;
    font-size:14px;
    font-weight:700;
    letter-spacing:.10em;
}

.service-team h4 {
    margin:0;
    color:#222;
    font-size:24px;
    line-height:1.35;
    font-weight:700;
    letter-spacing:-.04em;
}

.service-team-members {
    margin:0;
    padding:24px 0 0;
    list-style:none;
}

.service-team-members li {
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:50px;
    padding:0 4px;
    border-bottom:1px solid #eee;
}

.service-team-members li:last-child {
    border-bottom:0;
}

.service-team-members span {
    color:#666;
    font-size:17px;
}

.service-team-members strong {
    color:#222;
    font-size:18px;
    font-weight:700;
}

@media (max-width:900px) {
    .organization-branch {
        display:none;
    }

    .organization-services {
        grid-template-columns:1fr;
        gap:24px;
        margin-top:46px;
    }

    .organization-services:before,
    .organization-services:after {
        display:none;
    }
}

@media (max-width:640px) {
    .organization-page {
        padding-bottom:70px;
    }

    .organization-intro {
        margin-bottom:36px;
    }

    .organization-intro h3 {
        font-size:30px;
    }

    .organization-card {
        width:240px;
        min-height:100px;
        padding:22px 18px;
    }

    .organization-card strong {
        font-size:22px;
    }

    .service-team {
        padding:24px;
        border-radius:14px;
    }

    .service-team-head {
        align-items:flex-start;
    }

    .service-team-icon {
        width:50px;
        height:50px;
    }

    .service-team h4 {
        font-size:21px;
    }

    .service-team-members span {
        font-size:16px;
    }

    .service-team-members strong {
        font-size:17px;
    }
}



.center-status-page {
    padding:40px 0 100px;
    color:#222;
}

.center-status-intro {
    margin-bottom:42px;
}

.center-status-eyebrow {
    display:block;
    margin-bottom:8px;
    color:#b39f6c;
    font-size:16px;
    font-weight:700;
    letter-spacing:.12em;
}

.center-status-intro h3 {
    margin:0;
    color:#222;
    font-size:36px;
    line-height:1.35;
    font-weight:700;
    letter-spacing:-.05em;
}

.center-status-intro p {
    margin:10px 0 0;
    color:#777;
    font-size:18px;
    line-height:1.7;
}

.center-status-visual {
    width:100%;
    max-width:760px;
    margin:0 auto;
    overflow:hidden;
    border-radius:18px;
    background:#f4f4f4;
    box-shadow:0 14px 34px rgba(0,0,0,.06);
}

.center-status-visual img {
    display:block;
    width:100%;
    height:auto;
}

.center-status-section {
    margin-top:72px;
}

.section-heading {
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:24px;
}

.section-heading span {
    color:#b39f6c;
    font-size:15px;
    font-weight:700;
    letter-spacing:.08em;
}

.section-heading h4 {
    margin:0;
    color:#222;
    font-size:28px;
    line-height:1.35;
    font-weight:700;
    letter-spacing:-.04em;
}

.purpose-box {
    display:flex;
    align-items:flex-start;
    gap:22px;
    padding:34px 36px;
    border:1px solid #e8e4da;
    border-radius:18px;
    background:#faf8f2;
}

.purpose-icon {
    flex:0 0 auto;
    width:58px;
    height:58px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:16px;
    background:#b39f6c;
    color:#fff;
}

.purpose-icon svg {
    width:28px;
    height:28px;
    stroke-width:1.8;
}

.purpose-box p {
    margin:0;
    color:#555;
    font-size:18px;
    line-height:1.85;
    word-break:keep-all;
}

.facility-grid {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    border-top:2px solid #b39f6c;
    border-left:1px solid #e8e4da;
}

.facility-item {
    min-height:110px;
    padding:24px 28px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    border-right:1px solid #e8e4da;
    border-bottom:1px solid #e8e4da;
    background:#fff;
    box-sizing:border-box;
}

.facility-label {
    display:block;
    margin-bottom:8px;
    color:#8e7a4b;
    font-size:16px;
    font-weight:700;
}

.facility-item strong {
    color:#222;
    font-size:18px;
    line-height:1.55;
    font-weight:600;
    word-break:keep-all;
}

@media (max-width:900px) {
    .facility-grid {
        grid-template-columns:1fr;
    }
}

@media (max-width:640px) {
    .center-status-page {
        padding-bottom:70px;
    }

    .center-status-intro {
        margin-bottom:30px;
    }

    .center-status-intro h3 {
        font-size:30px;
    }

    .center-status-visual {
        border-radius:14px;
    }

    .center-status-section {
        margin-top:52px;
    }

    .section-heading h4 {
        font-size:24px;
    }

    .purpose-box {
        padding:24px;
        gap:16px;
        border-radius:14px;
    }

    .purpose-icon {
        width:50px;
        height:50px;
    }

    .purpose-box p {
        font-size:17px;
    }

    .facility-item {
        min-height:auto;
        padding:22px;
    }

    .facility-item strong {
        font-size:17px;
    }
}

.mission-page {
    padding:40px 0 100px;
    color:#222;
}

.mission-intro {
    margin-bottom:52px;
}

.mission-eyebrow {
    display:block;
    margin-bottom:8px;
    color:#b39f6c;
    font-size:16px;
    font-weight:700;
    letter-spacing:.12em;
}

.mission-intro h3 {
    margin:0;
    color:#222;
    font-size:36px;
    line-height:1.35;
    font-weight:700;
    letter-spacing:-.05em;
}

.mission-intro p {
    margin:10px 0 0;
    color:#777;
    font-size:18px;
    line-height:1.7;
}

.mission-flow {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:24px;
}

.mission-block {
    position:relative;
    padding:34px;
    border:1px solid #e8e4da;
    border-radius:18px;
    background:#fff;
    box-sizing:border-box;
}

.mission-main {
    background:#faf8f2;
}

.vision-main {
    background:#fff;
}

.mission-block-heading {
    display:flex;
    align-items:center;
    gap:16px;
    margin-bottom:26px;
}

.mission-number {
    flex:0 0 auto;
    width:48px;
    height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#b39f6c;
    color:#fff;
    font-size:15px;
    font-weight:700;
}

.mission-label,
.section-label {
    display:block;
    margin-bottom:3px;
    color:#b39f6c;
    font-size:14px;
    font-weight:700;
    letter-spacing:.10em;
}

.mission-block h4,
.section-heading h4 {
    margin:0;
    color:#222;
    font-size:26px;
    line-height:1.35;
    font-weight:700;
    letter-spacing:-.04em;
}

.mission-block-content {
    min-height:120px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:28px 24px;
    border-radius:14px;
    background:#fff;
    border:1px solid #eee;
    text-align:center;
}

.mission-block-content p {
    margin:0;
    color:#333;
    font-size:22px;
    line-height:1.6;
    font-weight:600;
    letter-spacing:-.04em;
    word-break:keep-all;
}

.core-value-section {
    margin-top:72px;
}

.section-heading {
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:26px;
}

.section-heading>span {
    color:#b39f6c;
    font-size:15px;
    font-weight:700;
}

.core-value-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
}

.core-value-card {
    padding:34px 30px;
    border:1px solid #e8e4da;
    border-radius:18px;
    background:#fff;
    text-align:center;
    transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}

.core-value-card:hover {
    transform:translateY(-4px);
    border-color:#d8ccb0;
    box-shadow:0 16px 34px rgba(90,76,44,.08);
}

.core-value-icon {
    width:62px;
    height:62px;
    margin:0 auto 20px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:18px;
    background:#f4f0e6;
    color:#8e7a4b;
}

.core-value-icon svg {
    width:29px;
    height:29px;
    stroke-width:1.8;
}

.core-value-en {
    display:block;
    margin-bottom:5px;
    color:#b39f6c;
    font-size:14px;
    font-weight:700;
    letter-spacing:.10em;
}

.core-value-card h5 {
    margin:0;
    color:#222;
    font-size:24px;
    line-height:1.35;
    font-weight:700;
}

.core-value-card p {
    margin:14px 0 0;
    color:#666;
    font-size:18px;
    line-height:1.7;
    word-break:keep-all;
}

.slogan-section {
    margin-top:72px;
}

.slogan-inner {
    position:relative;
    padding:52px 40px;
    border-radius:20px;
    background:#b39f6c;
    color:#fff;
    text-align:center;
    overflow:hidden;
}

.slogan-inner:before {
    position:absolute;
    top:-60px;
    right:-50px;
    width:190px;
    height:190px;
    border:1px solid rgba(255,255,255,.15);
    border-radius:50%;
    content:"";
}

.slogan-inner:after {
    position:absolute;
    bottom:-80px;
    left:-70px;
    width:230px;
    height:230px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:50%;
    content:"";
}

.slogan-label {
    position:relative;
    z-index:1;
    display:block;
    margin-bottom:10px;
    color:rgba(255,255,255,.78);
    font-size:14px;
    font-weight:700;
    letter-spacing:.14em;
}

.slogan-inner h4 {
    position:relative;
    z-index:1;
    margin:0;
    color:#fff;
    font-size:34px;
    line-height:1.4;
    font-weight:700;
    letter-spacing:-.05em;
}

.slogan-inner p {
    position:relative;
    z-index:1;
    margin:12px 0 0;
    color:rgba(255,255,255,.9);
    font-size:20px;
    line-height:1.6;
}

@media (max-width:900px) {
    .mission-flow {
        grid-template-columns:1fr;
    }

    .core-value-grid {
        grid-template-columns:1fr;
    }
}

@media (max-width:640px) {
    .mission-page {
        padding-bottom:70px;
    }

    .mission-intro {
        margin-bottom:36px;
    }

    .mission-intro h3 {
        font-size:30px;
    }

    .mission-block {
        padding:24px;
        border-radius:14px;
    }

    .mission-block-content {
        min-height:auto;
        padding:24px 18px;
    }

    .mission-block-content p {
        font-size:19px;
    }

    .core-value-section,
    .slogan-section {
        margin-top:52px;
    }

    .core-value-card {
        padding:28px 22px;
        border-radius:14px;
    }

    .core-value-card p {
        font-size:17px;
    }

    .slogan-inner {
        padding:40px 24px;
        border-radius:16px;
    }

    .slogan-inner h4 {
        font-size:27px;
    }

    .slogan-inner p {
        font-size:18px;
    }
}

.corp-page {
    padding:50px 0 100px;
    color:#222;
}

.corp-intro {
    text-align:center;
}

.corp-logo {
    margin-bottom:26px;
}

.corp-logo img {
    display:block;
    width:auto;
    max-width:340px;
    max-height:90px;
    margin:0 auto;
}

.corp-slogan {
    margin:0;
    color:#222;
    font-size:25px;
    line-height:1.6;
    letter-spacing:-.04em;
}

.corp-slogan strong {
    color:#8e7a4b;
}

.corp-description {
    margin-top:30px;
    padding:34px 38px;
    border-radius:18px;
    background:#faf9f6;
    text-align:left;
}

.corp-description p {
    margin:0;
    color:#555;
    font-size:18px;
    line-height:1.9;
    letter-spacing:-.025em;
    word-break:keep-all;
}

.corp-description p+p {
    margin-top:20px;
}

.corp-summary {
    margin-top:24px;
    display:grid;
    grid-template-columns:1.5fr 1fr 1fr;
    border-top:2px solid #b39f6c;
    border-left:1px solid #e8e4da;
}

.corp-summary-item {
    min-height:105px;
    padding:22px 26px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    border-right:1px solid #e8e4da;
    border-bottom:1px solid #e8e4da;
}

.corp-summary-item span {
    margin-bottom:7px;
    color:#8e7a4b;
    font-size:16px;
    font-weight:700;
}

.corp-summary-item strong {
    color:#222;
    font-size:18px;
    line-height:1.5;
}

.corp-section {
    margin-top:78px;
}

.corp-section-heading {
    margin-bottom:28px;
    display:flex;
    align-items:center;
    gap:14px;
}

.corp-section-heading>span {
    color:#b39f6c;
    font-size:15px;
    font-weight:700;
}

.corp-section-heading small {
    display:block;
    margin-bottom:2px;
    color:#b39f6c;
    font-size:14px;
    font-weight:700;
    letter-spacing:.12em;
}

.corp-section-heading h3 {
    margin:0;
    color:#222;
    font-size:28px;
    line-height:1.35;
    font-weight:700;
    letter-spacing:-.04em;
}

.corp-purpose-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
}

.corp-purpose-card {
    min-height:270px;
    padding:32px 26px;
    border:1px solid #e8e4da;
    border-radius:18px;
    background:#fff;
    text-align:center;
    box-sizing:border-box;
    transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}

.corp-purpose-card:hover {
    transform:translateY(-4px);
    border-color:#d8ccb0;
    box-shadow:0 16px 34px rgba(90,76,44,.08);
}

.corp-purpose-icon {
    width:62px;
    height:62px;
    margin:0 auto 20px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:18px;
    background:#f4f0e6;
    color:#8e7a4b;
}

.corp-purpose-icon svg {
    width:29px;
    height:29px;
    stroke-width:1.8;
}

.corp-purpose-card h4 {
    margin:0;
    color:#222;
    font-size:21px;
    line-height:1.45;
    font-weight:700;
    letter-spacing:-.04em;
}

.corp-purpose-card p {
    margin:14px 0 0;
    color:#666;
    font-size:17px;
    line-height:1.7;
    word-break:keep-all;
}

.philosophy-flow {
    position:relative;
    max-width:960px;
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:28px;
}

.philosophy-flow:before {
    position:absolute;
    top:38px;
    left:16.666%;
    right:16.666%;
    height:1px;
    background:#ddd5c2;
    content:"";
}

.philosophy-flow article {
    position:relative;
    z-index:1;
    padding:0 20px;
    text-align:center;
}

.philosophy-flow article>span {
    width:76px;
    height:76px;
    margin:0 auto 20px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#b39f6c;
    color:#fff;
    font-size:17px;
    font-weight:700;
    box-shadow:0 12px 28px rgba(179,159,108,.18);
}

.philosophy-flow strong {
    display:block;
    color:#222;
    font-size:23px;
    font-weight:700;
}

.philosophy-flow p {
    margin:12px 0 0;
    color:#666;
    font-size:17px;
    line-height:1.7;
    word-break:keep-all;
}

.corp-business-list {
    margin:0;
    padding:0;
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:12px 20px;
    list-style:none;
}

.corp-business-list li {
    min-height:72px;
    padding:14px 20px;
    display:flex;
    align-items:center;
    gap:18px;
    border:1px solid #e8e4da;
    border-radius:14px;
    background:#fff;
    box-sizing:border-box;
}

.corp-business-list li>span {
    flex:0 0 auto;
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#f4f0e6;
    color:#8e7a4b;
    font-size:14px;
    font-weight:700;
}

.corp-business-list p {
    margin:0;
    color:#333;
    font-size:18px;
    line-height:1.5;
    font-weight:600;
    word-break:keep-all;
}

.corp-map {
    overflow:hidden;
    border-radius:18px;
    background:#f4f4f4;
}

.corp-map .root_daum_roughmap {
    width:100% !important;
}

.corp-contact {
    margin-top:20px;
    display:grid;
    grid-template-columns:2fr 1fr 1fr;
    border:1px solid #e8e4da;
    border-radius:16px;
    overflow:hidden;
}

.corp-contact>div {
    min-height:110px;
    padding:24px;
    display:grid;
    grid-template-columns:38px 1fr;
    grid-template-rows:auto auto;
    align-content:center;
    column-gap:12px;
}

.corp-contact>div+div {
    border-left:1px solid #e8e4da;
}

.corp-contact svg {
    grid-row:1 / 3;
    align-self:center;
    width:24px;
    height:24px;
    color:#8e7a4b;
}

.corp-contact span {
    color:#777;
    font-size:15px;
}

.corp-contact strong {
    color:#222;
    font-size:17px;
    line-height:1.5;
}

.corp-contact a {
    color:inherit;
    text-decoration:none;
}

@media (max-width:1100px) {
    .corp-purpose-grid {
        grid-template-columns:repeat(2,1fr);
    }

    .corp-contact {
        grid-template-columns:1fr;
    }

    .corp-contact>div+div {
        border-left:0;
        border-top:1px solid #e8e4da;
    }
}

@media (max-width:768px) {
    .corp-page {
        padding-bottom:70px;
    }

    .corp-logo img {
        max-width:270px;
    }

    .corp-slogan {
        font-size:21px;
    }

    .corp-description {
        padding:26px 24px;
        border-radius:14px;
    }

    .corp-description p {
        font-size:17px;
    }

    .corp-summary {
        grid-template-columns:1fr;
    }

    .corp-section {
        margin-top:58px;
    }

    .corp-purpose-grid,
    .philosophy-flow,
    .corp-business-list {
        grid-template-columns:1fr;
    }

    .philosophy-flow:before {
        display:none;
    }

    .corp-purpose-card {
        min-height:auto;
    }
}

@charset "utf-8";

.greeting-page {
    padding:20px 0 100px;
    color:#222;
}

/* Intro */
.greeting-intro {
    position:relative;
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:60px;
    align-items:center;
    min-height:330px;
    padding:20px 0 46px;
    margin-bottom:42px;
    border-bottom:1px solid #e8e4da;
}

.greeting-intro-text {
    position:relative;
    z-index:2;
}

.greeting-eyebrow {
    display:block;
    margin-bottom:14px;
    color:#b39f6c;
    font-size:16px;
    font-weight:700;
    letter-spacing:.14em;
}

.greeting-intro h3 {
    margin:0;
    color:#b39f6c;
    font-size:38px;
    line-height:1.45;
    font-weight:700;
    letter-spacing:-.055em;
    word-break:keep-all;
}

.greeting-intro-text>p {
    margin:20px 0 0;
    color:#777;
    font-size:18px;
    line-height:1.75;
    letter-spacing:-.03em;
}

/* 3D Object */
.greeting-object {
    position:relative;
    height:300px;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
}

.greeting-object:before {
    position:absolute;
    top:50%;
    left:50%;
    width:250px;
    height:250px;
    border-radius:50%;
    background:#f5f1e7;
    content:"";
    transform:translate(-50%,-50%);
}

.greeting-object img {
    position:relative;
    z-index:2;
    display:block;
    width:auto;
    max-width:320px;
    max-height:280px;
    object-fit:contain;
    filter:drop-shadow(0 20px 28px rgba(111,91,46,.13));
}

.greeting-object-circle {
    position:absolute;
    display:block;
    border-radius:50%;
    pointer-events:none;
}

.circle-01 {
    top:25px;
    right:42px;
    width:72px;
    height:72px;
    border:1px solid rgba(179,159,108,.26);
}

.circle-02 {
    bottom:22px;
    left:54px;
    width:34px;
    height:34px;
    background:rgba(179,159,108,.12);
}

/* Greeting Card */
.greeting-content {
    position:relative;
    max-width:1120px;
    margin:0 auto;
    padding:50px 58px 52px;
    border:1px solid #e8e4da;
    border-radius:20px;
    background:#fff;
    box-sizing:border-box;
}

.greeting-content:before {
    position:absolute;
    top:0;
    left:58px;
    width:80px;
    height:4px;
    background:#b39f6c;
    content:"";
}

.greeting-symbol {
    width:58px;
    height:58px;
    margin-bottom:26px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:16px;
    background:#f4f0e6;
    color:#8e7a4b;
}

.greeting-symbol svg {
    width:28px;
    height:28px;
    stroke-width:1.8;
}

.greeting-text {
    color:#555;
    font-size:18px;
    line-height:1.9;
    letter-spacing:-.025em;
    word-break:keep-all;
}

.greeting-text p {
    margin:0;
}

.greeting-text p+p {
    margin-top:24px;
}

.greeting-text .greeting-lead {
    margin-bottom:30px;
    color:#222;
    font-size:23px;
    line-height:1.6;
    font-weight:700;
    letter-spacing:-.04em;
}

.greeting-sign {
    margin-top:44px;
    padding-top:26px;
    border-top:1px solid #eee;
    text-align:right;
}

.greeting-sign span {
    color:#888;
    font-size:16px;
}

.greeting-sign strong {
    margin-left:12px;
    color:#222;
    font-size:20px;
    font-weight:700;
}

/* Tablet */
@media (max-width:900px) {
    .greeting-intro {
        grid-template-columns:1fr;
        gap:24px;
        min-height:auto;
    }

    .greeting-object {
        height:240px;
    }

    .greeting-object img {
        max-width:260px;
        max-height:220px;
    }
}

/* Mobile */
@media (max-width:640px) {
    .greeting-page {
        padding-bottom:70px;
    }

    .greeting-intro {
        padding-bottom:30px;
        margin-bottom:30px;
    }

    .greeting-intro h3 {
        font-size:29px;
    }

    .greeting-intro-text>p {
        font-size:17px;
    }

    .greeting-object {
        height:200px;
    }

    .greeting-object:before {
        width:190px;
        height:190px;
    }

    .greeting-object img {
        max-width:210px;
        max-height:185px;
    }

    .greeting-content {
        padding:36px 26px 38px;
        border-radius:16px;
    }

    .greeting-content:before {
        left:26px;
        width:60px;
    }

    .greeting-symbol {
        width:52px;
        height:52px;
    }

    .greeting-text {
        font-size:17px;
        line-height:1.85;
    }

    .greeting-text .greeting-lead {
        font-size:21px;
    }

    .greeting-sign {
        margin-top:36px;
    }

    .greeting-sign span,
    .greeting-sign strong {
        display:block;
    }

    .greeting-sign strong {
        margin:5px 0 0;
    }
}