/* common */
@import './base/base.css';
@import './base/fonts.css';
@import './components/header.css';
@import './components/fixed_cta.css';
@import './components/section.css';
@import './components/footer.css';
@import './components/button.css';
@import './components/mv.css';
@import './animations/entries.css';

/* message */
.company_message {
    background: #fff;
    padding: 10rem 0 0;
}
.company_message_inner {
    display: flex;
    flex-direction: row;
    gap: 10rem;
    align-items: center;
    justify-content: center;
}
.company_message_copy {
    text-align: center;
}
.company_message_title {
    margin: 7rem 0 0;
    font-family: 'MOBO-bold';
    font-weight: 700;
    font-size: var(--font_size_32px);
}
.company_message_texts {
    margin: 2rem 0 0;
    font-family: 'MOBO-bold';
    font-weight: 700;
    font-size: var(--font_size_16px);
    line-height: 1.8;
}
.company_message_sign {
    display: flex;
    flex-direction: row;
    justify-content: end;
    align-items: center;
    gap: 1rem;
    margin: 2rem 0 0;
}
.company_message_role {
    font-family: 'MOBO-bold';
    font-weight: 700;
    font-size: var(--font_size_14px);
}
.company_message_name {
    font-family: 'MOBO-bold';
    font-weight: 700;
    font-size: var(--font_size_16px);
}
.company_message_img {
    width: 52rem;
    height: 39rem;
}
.company_message_bg_text {
    font-family: 'Outfit-bold';
    font-weight: 700;
    font-size: var(--font_size_120px);
    color: var(--color_bg);
    margin: 10rem 0 0;
    line-height: 0.7;
}
@media screen and (max-width: 960px) {
    .company_message{
        padding: 8rem 0 0;
    }
    .company_message_inner{
        flex-direction: column;
        gap: 5rem;
    }
    .company_message_img{
        width: 100%;
        height: auto;
    }
    .company_message_bg_text{
        margin-top: 8rem;
    }
}

/* profile table */
.company_profile {
    background: var(--color_bg);
    padding: 10rem 0;
}
.company_table {
    display: flex;
    flex-direction: column;
    max-width: 94rem;
    margin: 7rem auto 0;
}
.company_row {
    display: flex;
    flex-direction: row;
    padding: 2rem;
    max-width: 94rem;
    border-bottom: 1px solid var(--color_mid);
}
.company_key {
    color: var(--color_gray);
    font-family: 'MOBO-bold';
    font-weight: 700;
    font-size: var(--font_size_16px);
    letter-spacing: 5%;
    width: 22.1rem;
}
.company_value {
    color: var(--color_black);
    font-family: 'MOBO-bold';
    font-weight: 700;
    font-size: var(--font_size_16px);
line-height: 1.2;
}
.company_link {
    color: var(--color_primary);
    font-family: 'MOBO-bold';
    font-weight: 700;
    font-size: var(--font_size_16px);
    text-decoration: none;
    display: flex;
    flex-direction: row;
    gap: 1rem;
}
.company_value_link_img{
    width: 1.6rem;
    height: 1.6rem;
}
@media screen and (max-width: 640px) {
    .company_profile{
        padding: 8rem 0;
    }
    .company_row{
        flex-direction: column;
        gap: 1rem;
    }
}

/* timeline */
.company_history {
    background: #fff;
    padding: 10rem 0;
}
.company_timeline {
    display: flex;
    flex-direction: column;
    position: relative;
    max-width: 71rem;
    gap: 3rem;
    margin: 7rem auto 0;
}
.company_timeline_vertical_line{
    position: absolute;
    width: 0.3rem;
    height: calc(100% - 9.3rem);
    background: var(--color_pink);
    top: 0;
    margin-top: 3rem;
    left: calc(2rem + 14rem + 1rem - 0.15rem);
    z-index: 1;
    transform: scaleY(0);
    transform-origin: top;
    transition: transform 2s ease-out;
}
.company_timeline_vertical_line.active {
    transform: scaleY(1);
}
.company_timeline_item {
    display: flex;
    align-items: center;
    padding: 0 0 3rem 2rem;
    border-bottom: 2px solid var(--color_bg);
    gap: 0;
}
.company_timeline_year {
    color: var(--color_pink);
    font-family: "Koulen";
    font-weight: 400;
    font-size: var(--font_size_48px);
    letter-spacing: 5%;
    width: 14rem;
    flex-shrink: 0;
    text-align: right;
    padding-right: 3rem;
}
.company_timeline_dot {
    position: relative;
    z-index: 2;
    width: 2rem;
    height: 2rem;
    flex-shrink: 0;
    border-radius: 999px;
    background: var(--color_primary);
}
.company_timeline_body {
    display: flex;
    align-items: center;
    flex: 1;
    padding-left: 3rem;
}
.company_timeline_month {
    color: #f5a8ad;
    font-family: "Koulen";
    font-weight: 400;
    font-size: var(--font_size_32px);
}
.company_timeline_texts {
    font-family: "MOBO-bold";
    font-weight: 700;
    font-size: var(--font_size_16px);
    line-height: 2;
    margin: 0 0 0 7rem;
}
.company_timeline_text{
    margin: 0;
}
@media screen and (max-width: 640px) {
    .company_history{
        padding: 8rem 0;
    }
    .company_timeline_item{
        padding: 0;
        gap: 0;
    }
    .company_timeline_year{
        width: 6rem;
        padding-right: 1rem;
    }
    .company_timeline_dot{
        width: 1.3rem;
        height: 1.3rem;
    }
    .company_timeline_body{
        gap: 1rem;
        padding-left: 1rem;
    }
    .company_timeline_month{
        margin: 0;
    }
    .company_timeline_texts{
        margin: 0;
    }
    .company_timeline_text{
        width: 100%;
    }
    .company_timeline_vertical_line{
        left: calc(6rem + 0.6rem - 0.15rem);
    }
}

/* offices */
.company_offices {
    background: var(--color_bg);
    padding: 10rem 0 20rem;
}
.company_office_list {
    display: flex;
    flex-direction: column;
    gap: 5rem;
    max-width: 85rem;
    margin: 7rem auto 0;
}
.company_office_item {
    display: flex;
    flex-direction: column;
}
.company_office_title {
    display: block;
    width: fit-content;
    margin: 0;
    background: var(--color_primary);
    padding: 0.5rem 1rem;
    color: var(--color_white);
    font-weight: 700;
    font-size: var(--font_size_20px);
}
.company_office_address {
    margin: 2rem 0 3rem;
    font-family: "MOBO-bold";
    font-weight: 700;
    font-size: var(--font_size_16px);
    line-height: 1.5;
}
.company_map {
    width: 100%;
    border-radius: var(--radius_md);
    background: #fff;
    /* min-height: 33.2rem; */
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color_primary);
    font-family: "Outfit";
    font-weight: 400;
    font-size: var(--font_size_14px);
}
.company_office_row {
    display: flex;
    flex-direction: row;
    gap: 5rem;
}
.company_office_item_row{
    width: calc((100% - 5rem) / 2);
}
@media screen and (max-width: 640px) {
    .company_offices{
        padding: 8rem 0;
    }
    .company_office_row{
        flex-direction: column;
    }
    .company_office_item_row{
        width: 100%;
    }
}

.company_timeline_text.sp {
    display: none;
}

@media screen and (max-width: 640px) {
    .company_message_title {
        margin: 3rem 0 0;
    }
    .company_message_text {
        max-width: 33rem;
        margin: 0 auto;
    }
    .company_message_text .pc {
        display: none;
    }
    .company_message_text .sp {
        display: block;
    }
    .company_message_role {
        font-size: 12px;
    }

    .company_message_bg_text {
        font-size: 40px;
    }
    .company_table {
        gap: 8px;
        margin: 3rem auto 0;
    }
    .company_row {
        padding: 1rem;
    }

    .company_timeline {
        margin: 3rem auto 0;
        gap: 1.5rem;
    }
    .company_timeline_item {
        padding: 0 0.9rem 1.5rem;
    }
    .company_timeline_year {
        width: 4.9rem;
        font-size: 24px;
        flex-shrink: 0;
        margin-right: 7.5px;
        text-align: left;
    }
    .company_timeline_body {
        padding-left: 9.5px;
    }
    .company_timeline_month {
        font-size: 20px;
    }
    .company_timeline_text.pc {
        display: none;
    }
    .company_timeline_text.sp {
        display: flex;
        flex-direction: column;
        gap: 1rem;
    }
    .company_timeline_text {
        font-size: 12px;
    }
    .company_timeline_text span {
        display: block;
        line-height: 1.3;
    }
    .company_timeline_vertical_line {
        height: calc(100% - 9.7%);
        left: calc(6rem + 1.2rem - 0.15rem);
        margin-top: 2.2rem;
    }

    .company_office_list {
        margin: 3rem auto 0;
    }
    .company_office_address {
        margin: 1rem 0;
    }
    .company_map {
        aspect-ratio: 330 / 132;
        overflow: hidden;
    }
    .company_office_row {
        gap: 3rem;
    }

}