@charset "utf-8";

/* SP Only */

@media (max-width: 767px) {
    main {
        padding-right: 0;
    }
}
/* title
------------------------------------------------ */

.page__desc-title::before {
    width: 48px;
    height: 266px;
    background: url("/assets/img/company/title-en.svg") no-repeat center/contain;
}

/* SP Only */

@media (max-width: 767px) {
    .page__desc-title::before {
        width: 24px;
        width: 6.4vw;
        height: 133px;
        height: 35.46666vw;
    }
}

/* company
------------------------------------------------ */

.company {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: space-between;
    padding-top: 70px;

    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
}

.company__logo {
    width: 36.4583333333%;
}

.company__container {
    position: relative;
    width: 48.9583333333%;
    padding-top: 5px;
}


.company__line {
    position: relative;
}

.company__line::before {
    position: absolute;
    top: 0;
    left: 0;
            transform: translate(-50%, 0);
    width: 2px;
    height: 100%;
    background-color: #ff7ca6;
    content: "";

    -webkit-transform: translate(-50%, 0);
        -ms-transform: translate(-50%, 0);
}

.company__name {
    font-weight: bold;
    font-size: 24px;
    letter-spacing: calc(100 / 1000 * 24px);
}

.company__info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
        flex-direction: column;
    margin-top: 40px;

    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    gap: 20px;
}

.company__details {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.company__details-title {
    min-width: 100px;
    letter-spacing: calc(100 / 1000 * 16px);
}

.company__details-text {
    letter-spacing: calc(100 / 1000 * 16px);
}

.company__details--row .company__details-text {
    margin-top: 5px;
    letter-spacing: -.05em;
}

/* SP Only */

@media (max-width: 767px) {
    .company {
            flex-flow: column;
        padding: 25px 0 0  15px;
        padding: 6.66666vw 0 0  4vw;

        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-flow: column;
    }

    .company__logo {
        width: 225px;
        width: 60vw;
    }

    .company__container {
        width: 100%;
        margin-top: 50px;
        margin-top: 13.33333vw;
        padding-left: 10px;
        padding-left: 2.66666vw;
    }

    .company__container::before {
        position: absolute;
        left: 0;
        width: 1px;
        height: 100%;
        background-color: #ff7ca6;
        content: "";
    }

    .company__name {
        font-size: 18px;
        font-size: 4.8vw;
        letter-spacing: calc(100 / 1000 * 18px);
        letter-spacing: calc(100 / 1000 * 4.8vw);
    }

    .company__info {
        margin-top: 30px;
        margin-top: 8vw;

        gap: 15px;
        gap: 4vw;
    }

    .company__details-title {
        min-width: 75px;
        min-width: 20vw;
        letter-spacing: calc(100 / 1000 * 12px);
        letter-spacing: calc(100 / 1000 * 3.2vw);
    }

    .company__details-text {
        letter-spacing: calc(100 / 1000 * 12px);
        letter-spacing: calc(100 / 1000 * 3.2vw);
    }

    .company__details--row .company__details-text {
        margin-top: 2.5px;
        margin-top: .66666vw;
    }
}

/* access
------------------------------------------------ */

.access {
    margin-top: 60px;
    padding: 0 40px 50px 50px;
}

.access__title {
    font-weight: bold;
    font-size: 24px;
    letter-spacing: calc(100 / 1000 * 24px);
}

.access__map {
    transition-delay: .1s;
}

.access__text {
    margin-top: 20px;
}
.access__iframe {
    width: 83.3333333333%;
    height: 400px;
    margin-top: 20px;
}

.company__figure {
    position: absolute;
    right: -70px;
    bottom: -5px;
    width: 245px;
    z-index: 9999;
    pointer-events: none;
}



/* SP Only */

@media (max-width: 767px) {
    .access {
        margin-top: 45px;
        margin-top: 12vw;
        padding: 0 15px 165px  15px;
        padding: 0 4vw 44vw  4vw;
    }

    .access__title {
        font-size: 18px;
        font-size: 4.8vw;
        letter-spacing: calc(100 / 1000 * 18px);
        letter-spacing: calc(100 / 1000 * 4.8vw);
    }

    .access__text {
        margin-top: 20px;
        margin-top: 5.33333vw;
    }

    .access__iframe {
        width: 100%;
        height: 175px;
        height: 46.66666vw;
        margin-top: 20px;
        margin-top: 5.33333vw;
    }

    .company__figure {
        right: 25%;
        bottom: -5px;
        bottom: -1.33333vw;
        width: 175.5px;
        width: 46.8vw;
        -webkit-transform: translate(-50%,0);
    }
}