#company_map { color: #000; }

#company_map .map_intro { max-width: 88rem; margin-bottom: 5rem; }

#company_map .map_eyebrow,
#company_map .section_heading > span {
    display: flex;
    align-items: center;
    gap: 1.4rem;
    margin-bottom: 2rem;
    color: #6f9fc5;
    font-family: "Paperlogy", sans-serif;
    font-size: 1.3rem;
    font-weight: 700;
    letter-spacing: 0.1em;
}

#company_map .map_eyebrow::before,
#company_map .section_heading > span::before {
    width: 3.2rem;
    height: 0.2rem;
    background: #6f9fc5;
    content: "";
}

#company_map .map_intro h2 {
    margin-bottom: 2.5rem;
    color: #243b5a;
    font-family: "Paperlogy", sans-serif;
    font-size: clamp(3.4rem, 4vw, 5.2rem);
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -0.05em;
}

#company_map .map_intro p { max-width: 76rem; font-size: 1.7rem; line-height: 1.85; }

#company_map .map_area {
    overflow: hidden;
    margin-bottom: 9rem;
    border-top: 0.2rem solid #6f9fc5;
}

#company_map .map_area iframe,
#company_map .map_area > div { max-width: 100%; }

#company_map .access_section { margin-bottom: 8rem; }
#company_map .section_heading { margin-bottom: 3.5rem; }

#company_map .section_heading h3,
#company_map .map_info h3 {
    color: #243b5a;
    font-family: "Paperlogy", sans-serif;
    font-size: 3.4rem;
    font-weight: 700;
    letter-spacing: -0.04em;
}

#company_map .access_layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 30rem;
    gap: 2rem;
}

#company_map .access_cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2rem; }

#company_map .access_card {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 2rem;
    padding: 3.4rem 3rem;
    border-top: 0.2rem solid #6f9fc5;
    background: #f4f7f9;
}

#company_map .access_number {
    color: #87abc9;
    font-family: "Paperlogy", sans-serif;
    font-size: 1.4rem;
    font-weight: 700;
}

#company_map .access_type {
    display: block;
    margin-bottom: 1.5rem;
    color: #6f9fc5;
    font-family: "Paperlogy", sans-serif;
    font-size: 1.15rem;
    font-weight: 700;
    letter-spacing: 0.08em;
}

#company_map .access_card strong {
    display: block;
    margin-bottom: 1.4rem;
    color: #000000;
    font-family: "Paperlogy", sans-serif;
    font-size: 2.3rem;
    font-weight: 700;
    line-height: 1.45;
}

#company_map .access_card p { font-size: 1.55rem; line-height: 1.75; }

#company_map .entrance_photo {
    position: relative;
    overflow: hidden;
    min-height: 29rem;
    background: #edf1f4;
}

#company_map .entrance_photo::after {
    position: absolute;
    inset: 45% 0 0;
    background: linear-gradient(180deg, transparent, rgba(23, 42, 65, 0.72));
    content: "";
}

#company_map .entrance_photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 56%; }

#company_map .entrance_photo figcaption {
    position: absolute;
    right: 2rem;
    bottom: 1.8rem;
    left: 2rem;
    z-index: 1;
    color: #fff;
}

#company_map .entrance_photo figcaption span {
    display: block;
    margin-bottom: 0.6rem;
    font-family: "Paperlogy", sans-serif;
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    opacity: 0.8;
}

#company_map .entrance_photo figcaption strong { font-family: "Paperlogy", sans-serif; font-size: 1.65rem; font-weight: 700; }

#company_map .transport_hub {
    padding: 5rem;
    border-radius: 0.4rem 4rem 0.4rem 0.4rem;
    background: #243b5a;
    color: #fff;
    text-align: center;
}

#company_map .transport_hub span {
    display: block;
    margin-bottom: 1.8rem;
    color: #b9d7ed;
    font-family: "Paperlogy", sans-serif;
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: 0.12em;
}

#company_map .transport_hub strong {
    display: block;
    margin-bottom: 1.5rem;
    font-family: "Paperlogy", sans-serif;
    font-size: clamp(2.6rem, 3vw, 4rem);
    font-weight: 700;
    line-height: 1.35;
}

#company_map .transport_hub p { color: #fff; font-size: 1.6rem; line-height: 1.7; }

#company_map .map_info { margin-top: 8rem; }
#company_map .map_info h3 { margin-bottom: 2.5rem; font-size: 2.8rem; }
#company_map .map_info dl { border-top: 0.2rem solid #243b5a; }

#company_map .map_info dl > div {
    display: grid;
    grid-template-columns: 16rem 1fr;
    border-bottom: 1px solid #d9e0e5;
}

#company_map .map_info dt,
#company_map .map_info dd { padding: 1.8rem 2rem; font-size: 1.55rem; line-height: 1.6; }
#company_map .map_info dt { background: #f4f7f9; color: #243b5a; font-weight: 700; }
#company_map .map_info a { color: #e75b32; font-family: "Paperlogy", sans-serif; font-size: 1.7rem; font-weight: 700; }

@media (max-width: 1024px) {
    #company_map .access_layout { grid-template-columns: 1fr; }
    #company_map .entrance_photo { min-height: 32rem; }
}

@media (max-width: 768px) {
    #company_map .map_intro { margin-bottom: 3.5rem; }
    #company_map .map_intro h2 { font-size: 3rem; }
    #company_map .map_intro p { font-size: 1.55rem; line-height: 1.8; }
    #company_map .map_area { margin-bottom: 7rem; }
    #company_map .section_heading h3 { font-size: 2.8rem; }
    #company_map .access_cards { grid-template-columns: 1fr; gap: 1.2rem; }
    #company_map .access_card { padding: 2.7rem 2.3rem; }
    #company_map .access_card strong { font-size: 2.1rem; }
    #company_map .entrance_photo { min-height: 25rem; }
    #company_map .transport_hub { padding: 4rem 2.4rem; border-radius: 0.3rem 2.8rem 0.3rem 0.3rem; }
    #company_map .transport_hub strong { font-size: 2.5rem; }
    #company_map .map_info { margin-top: 6rem; }
    #company_map .map_info dl > div { grid-template-columns: 9rem 1fr; }
    #company_map .map_info dt,
    #company_map .map_info dd { padding: 1.5rem 1.2rem; font-size: 1.4rem; }
}
