.p-company {
    width: 100%;
}

.p-company__inner {
    max-width: 1000px;
    width: 100%;
    height: 100%;
    margin: 0 auto;
}

@media (max-width: 1000px) {
    .p-company__inner {
        width: calc(100vw * 1000 / 1440);
    }
}

@media (max-width: 750px) {
    .p-company__inner {
        width: calc(100vw * 670 / 750);
    }
}

.p-company-title {
    padding-top: 150.5px;
    font-size: 60px;
    font-family: "oswald", sans-serif;
    font-weight: 700;
    font-style: normal;
    line-height: 1 !important;
    margin-bottom: 59px;
    display: inline-block;
    transform: translateX(-1px);
    /* letter-spacing: 0.05em; */
}

@media (max-width: 1000px) {
    .p-company-title {
        padding-top: calc(100vw * 150.5 / 1440);
        font-size: calc(100vw * 60 / 1440);
        margin-bottom: calc(100vw * 59 / 1440);
        transform: translateX(calc(100vw * -1 / 1440));
    }
}

@media (max-width: 750px) {
    .p-company-title {
        padding-top: calc(100vw * 138.5 / 750);
        font-size: calc(100vw * 80 / 750);
        margin-bottom: calc(100vw * 59 / 750);
        transform: translateX(calc(100vw * -4 / 750));
    }
}

#p-company-hero {
    width: 100vw;
    height: 795px;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    background-image: url(../img/company-bg.png);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

@media (max-width: 1000px) {
    #p-company-hero {
        height: calc(100vw * 795 / 1440);
    }
}

@media (max-width: 750px) {
    #p-company-hero {
        background-image: url(../img/companypage-bg-sp.png);
        height: calc(100vw * 1300 / 750);
    }
}

.p-company-hero__body {
    width: 1440px;
    height: 100%;
    margin: 0 auto;
    position: relative;
}

@media (max-width: 1440px) {
    .p-company-hero__body {
        width: 100%;
    }
}

.p-company-hero__body .p-company-hero__img {
    position: absolute;
    top: 97px;
    right: 0;
    width: 600px;
    height: 400px;
    overflow: hidden;
}

@media (max-width: 1440px) {
    .p-company-hero__body .p-company-hero__img {
        top: calc(97px + (1440px - 100vw) * 0.09375);
        width: min(calc(100vw * 600 / 1440), 600px);
        height: min(calc(100vw * 400 / 1440), 400px);
    }
}

@media (max-width: 1000px) {
    .p-company-hero__body .p-company-hero__img {
        top: calc(100vw * 97 / 1440);
        width: calc(100vw * 600 / 1440);
        height: calc(100vw * 400 / 1440);
    }
}

@media (max-width: 750px) {
    .p-company-hero__body .p-company-hero__img {
        position: initial;
        top: initial;
        right: initial;
        width: calc(100vw * 600 / 750);
        height: calc(100vw * 400 / 750);
        margin: 0 auto;
        padding-top: calc(100vw * 73 / 750);
    }
}

.p-company-hero__content {
    width: 1000px;
    height: 100%;
    margin: 0 auto;
    padding-top: 227px;
}

@media (max-width: 1000px) {
    .p-company-hero__content {
        width: calc(100vw * 1000 / 1440);
        padding-top: calc(100vw * 227 / 1440);
    }
}

@media (max-width: 750px) {
    .p-company-hero__content {
        width: calc(100vw * 670 / 750);
        padding-top: calc(100vw * 73 / 750);
    }
}

.p-company-hero__catch {
    font-size: 30px;
    line-height: 1 !important;
    margin-bottom: 23px;
    letter-spacing: 0.05em;
}

@media (max-width: 1000px) {
    .p-company-hero__catch {
        font-size: calc(100vw * 30 / 1440);
        margin-bottom: calc(100vw * 23 / 1440);
    }
}

@media (max-width: 750px) {
    .p-company-hero__catch {
        font-size: calc(100vw * 40 / 750);
        margin-bottom: calc(100vw * 45 / 750);
    }
}

.p-company-hero__catch--sub {
    font-size: 18px;
    line-height: 2.222 !important;
    font-weight: 700;
    letter-spacing: 0.05em;
    margin-bottom: 192px;
}

@media (max-width: 1000px) {
    .p-company-hero__catch--sub {
        font-size: calc(100vw * 18 / 1440);
        margin-bottom: calc(100vw * 192 / 1440);
    }
}

@media (max-width: 750px) {
    .p-company-hero__catch--sub {
        font-size: calc(100vw * 28 / 750);
        margin-bottom: calc(100vw * 37 / 750);
        line-height: 2.2 !important;
    }
}

.u-only-pc {
    display: block;
}

.u-only-sp {
    display: none;
}

@media (max-width: 750px) {
    .u-only-pc {
        display: none;
    }

    .u-only-sp {
        display: block;
    }
}

.p-company-hero__text {
    font-size: 18px;
    line-height: 1.667 !important;
    letter-spacing: 0.05em;
}

@media (max-width: 1000px) {
    .p-company-hero__text {
        font-size: calc(100vw * 18 / 1440);
    }
}

@media (max-width: 750px) {
    .p-company-hero__text {
        font-size: calc(100vw * 28 / 750);
        line-height: 1.78 !important;
    }
}

.p-company-section-title {
    font-size: 30px;
    margin-bottom: 7.5px;
    letter-spacing: 0.05em;
    transform: translateX(-1px);
}

@media (max-width: 1000px) {
    .p-company-section-title {
        font-size: calc(100vw * 30 / 1440);
        margin-bottom: calc(100vw * 7.5 / 1440);
        transform: translateX(calc(100vw * -1 / 1440));
    }
}

@media (max-width: 750px) {
    .p-company-section-title {
        font-size: calc(100vw * 40 / 750);
        margin-bottom: calc(100vw * 3.5 / 750);
        transform: translateX(calc(100vw * -1 / 750));
    }
}

hr {
    border: 1px solid #e2e2e2;
    width: 100%;
}

/*< !-- MISSION -->*/

#p-company-mission-vision {
    /* margin-bottom: 71px; */
    width: 100vw;
    /* height: 1124px; */
    height: auto;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    background-image: url(../img/bg-company.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

/* @media (max-width: 1000px) {
    #p-company-mission-vision {
        margin-bottom: calc(100vw * 71 / 1440);
    }
}

@media (max-width: 750px) {
    #p-company-mission-vision {
        margin-bottom: calc(100vw * 20 / 750);
    }
} */

.p-company-mission-vision__inner {
    padding: 92.5px 0;
    max-width: 1000px;
    margin: 0 auto;
}

@media (max-width: 1000px) {
    .p-company-mission-vision__inner {
        padding: calc(100vw * 92.5 / 1440) 0;
        /* height: calc(100vw * 1124 / 1440); */
        width: calc(100vw * 1000 / 1440);
    }
}

@media (max-width: 750px) {
    .p-company-mission-vision__inner {
        padding: calc(100vw * 76.5 / 750) 0;
        /* height: calc(100vw * 2739 / 750); */
        width: calc(100vw * 670 / 750);
    }
}

.p-company-mission__body {
    padding-top: 42.5px;
    font-size: 18px;
    letter-spacing: 0.05em;
    line-height: 1.667 !important;
}

@media (max-width: 1000px) {
    .p-company-mission__body {
        padding-top: calc(100vw * 42.5 / 1440);
        font-size: calc(100vw * 18 / 1440);
    }
}

@media (max-width: 750px) {
    .p-company-mission__body {
        padding-top: calc(100vw * 48 / 750);
        font-size: calc(100vw * 28 / 750);
        line-height: 1.786 !important;
    }
}


/*< !-- VISION -->*/

.p-company-vision {
    padding-top: 80px;
}

@media (max-width: 1000px) {
    .p-company-vision {
        padding-top: calc(100vw * 80 / 1440);
    }
}

@media (max-width: 750px) {
    .p-company-vision {
        padding-top: calc(100vw * 62 / 750);
    }
}

.p-company-vision__body {
    padding-top: 42.5px;
    letter-spacing: 0.05em;
    font-size: 18px;
    line-height: 1.667 !important;
}

@media (max-width: 1000px) {
    .p-company-vision__body {
        padding-top: calc(100vw * 42.5 / 1440);
        font-size: calc(100vw * 18 / 1440);
    }
}

@media (max-width: 750px) {
    .p-company-vision__body {
        padding-top: calc(100vw * 48 / 750);
        font-size: calc(100vw * 28 / 750);
        line-height: 1.786 !important;
    }
}

/*< !-- COMPANY -->*/

#p-company-profile {
    margin-bottom: 82.5px;
    padding-top: 71px;
}

@media (max-width: 1000px) {
    #p-company-profile {
        margin-bottom: calc(100vw * 62.5 / 1440);
        padding-top: calc(100vw * 71 / 1440);
    }
}

@media (max-width: 750px) {
    #p-company-profile {
        margin-bottom: calc(100vw * 62.5 / 750);
        padding-top: calc(100vw * 20 / 750);
    }
}

.p-company-profile__grid {
    padding-top: 49px;
    display: grid;
    justify-content: center;
    gap: 3px;
    grid-template-columns: 201px 596px;
    /* grid-template-rows: 60px 90px 60px 60px 90px; */
    font-size: 18px;
}

@media (max-width: 1000px) {
    .p-company-profile__grid {
        padding-top: calc(100vw * 49 / 1440);
        gap: calc(100vw * 3 / 1440);
        grid-template-columns: calc(100vw * 201 / 1440) calc(100vw * 596 / 1440);
        /* grid-template-rows: calc(100vw * 60 / 1440) calc(100vw * 90 / 1440) calc(100vw * 60 / 1440) calc(100vw * 60 / 1440) calc(100vw * 90 / 1440); */
        font-size: calc(100vw * 18 / 1440);
    }
}

@media (max-width: 750px) {
    .p-company-profile__grid {
        padding-top: calc(100vw * 53 / 750);
        gap: calc(100vw * 4 / 750);
        grid-template-columns: calc(100vw * 171 / 750) calc(100vw * 495 / 750);
        /* grid-template-rows: calc(100vw * 70 / 750) calc(100vw * 150 / 750) calc(100vw * 70 / 750) calc(100vw * 110 / 750) calc(100vw * 190 / 750); */
        font-size: calc(100vw * 28 / 750);
    }
}

.p-company-profile__label {
    background-color: #b6c8cf;
    display: flex;
    align-items: center;
    letter-spacing: 0.05em;
    justify-content: center;
    color: #ffffff;
}

.p-company-profile__data {
    border:  1px solid #e2e2e2;
    display: flex;
    align-items: center;
    line-height: 1.667 !important;
    letter-spacing: 0.05em;
    padding: 14px 18px;
}

@media (max-width: 1000px) {
    .p-company-profile__data {
        padding: calc(100vw * 14 / 1440) calc(100vw * 18 / 1440);
    }
}

@media (max-width: 750px) {
    .p-company-profile__data {
        line-height: 1.429 !important;
        padding: calc(100vw * 14 / 750) calc(100vw * 18 / 750);
    }
}

.br-sp {
    display: none;
}

@media (max-width: 750px) {
    .br-sp {
        display: block;
    }
}

/*< !-- HISTORY -->*/

#p-company-history {
    margin-bottom: 77px;
}

@media (max-width: 1000px) {
    #p-company-history {
        margin-bottom: calc(100vw * 77 / 1440);
    }
}

@media (max-width: 750px) {
    #p-company-history {
        margin-bottom: calc(100vw * 75.5 / 750);
    }
}

.p-company-history__grid {
    padding-top: 49px;
    display: grid;
    justify-content: center;
    gap: 3px;
    grid-template-columns: 201px 596px;
    /* grid-template-rows: 60px 90px 60px 60px 90px; */
    /* grid-auto-rows: minmax(60px, auto); これに変更*/
    font-size: 18px;
}

@media (max-width: 1000px) {
    .p-company-history__grid {
        padding-top: calc(100vw * 49 / 1440);
        gap: calc(100vw * 3 / 1440);
        grid-template-columns: calc(100vw * 201 / 1440) calc(100vw * 596 / 1440);
        /* grid-template-rows: calc(100vw * 60 / 1440) calc(100vw * 90 / 1440) calc(100vw * 60 / 1440) calc(100vw * 60 / 1440) calc(100vw * 90 / 1440); */
        font-size: calc(100vw * 18 / 1440);
    }
}

@media (max-width: 750px) {
    .p-company-history__grid {
        padding-top: calc(100vw * 53 / 750);
        gap: calc(100vw * 4 / 750);
        grid-template-columns: calc(100vw * 191 / 750) calc(100vw * 475 / 750);
        /* grid-template-rows: calc(100vw * 70 / 750) calc(100vw * 150 / 750) calc(100vw * 70 / 750) calc(100vw * 110 / 750) calc(100vw * 190 / 750); */
        font-size: calc(100vw * 28 / 750);
    }
}

.p-company-history__label {
    background-color: #b6c8cf;
    display: flex;
    align-items: center;
    letter-spacing: 0.05em;
    justify-content: center;
    color: #ffffff;
}

.p-company-history__data {
    border: 1px solid #e2e2e2;
    display: flex;
    align-items: center;
    letter-spacing: 0.05em;
    padding: 14px 18px;
    line-height: 1.667 !important;
}

@media (max-width: 1000px) {
    .p-company-history__data {
        padding: calc(100vw * 14 / 1440) calc(100vw * 18 / 1440);
    }
}

@media (max-width: 750px) {
    .p-company-history__data {
        line-height: 1.429 !important;
        padding: calc(100vw * 14 / 750) calc(100vw * 18 / 750);
    }
}

/*< !-- PARTNER -->*/

#p-company-partner {
    margin-bottom: 57px;
}

@media (max-width: 1000px) {
    #p-company-partner {
        margin-bottom: calc(100vw * 57 / 1440);
    }
}

@media (max-width: 750px) {
    #p-company-partner {
        margin-bottom: calc(100vw * 83.5 / 750);
    }
}

#p-company-partner .p-company-partner__divider {
    margin-bottom: 44px !important;
}

@media (max-width: 1000px) {
    #p-company-partner .p-company-partner__divider {
        margin-bottom: calc(100vw * 44 / 1440) !important;
    }
}

@media (max-width: 750px) {
    #p-company-partner .p-company-partner__divider {
        margin-bottom: calc(100vw * 50 / 750) !important;
    }
}

#p-company-partner hr {
    margin-bottom: 24px;
}

@media (max-width: 1000px) {
    #p-company-partner hr {
        margin-bottom: calc(100vw * 24 / 1440);
    }
}

@media (max-width: 750px) {
    #p-company-partner hr {
        margin-bottom: calc(100vw * 44 / 750);
    }
}

#p-company-partner hr:last-child {
    display: none;
}

.p-company-partner__item {
    letter-spacing: 0.05em;
    margin-bottom: 28px;
}

@media (max-width: 1000px) {
    .p-company-partner__item {
        margin-bottom: calc(100vw * 28 / 1440);
    }
}

@media (max-width: 750px) {
    .p-company-partner__item {
        margin-bottom: calc(100vw * 43 / 750);
    }
}

.p-company-partner__name {
    font-size: 24px;
    letter-spacing: 0.05em;
}

@media (max-width: 1000px) {
    .p-company-partner__name {
        font-size: calc(100vw * 24 / 1440);
    }
}

@media (max-width: 750px) {
    .p-company-partner__name {
        font-size: calc(100vw * 36 / 750);
    }
}

.p-company-partner__body {
    max-width: 1000px;
    width: 100%;
    margin: 0 auto;
    display: flex;
    gap: 30px;
    align-items: flex-start;
}

@media (max-width: 1000px) {
    .p-company-partner__body {
        gap: calc(100vw * 30 / 1440);
        width: calc(100vw * 1000 / 1440);
    }
}

@media (max-width: 750px) {
    .p-company-partner__body {
        flex-direction: column;
        align-items: initial;
        gap: calc(100vw * 33 / 750);
        width: 100%;
    }
}

.p-company-partner__text {
    width: 570px;
}

@media (max-width: 1000px) {
    .p-company-partner__text {
        width: calc(100vw * 570 / 1440);
    }
}

@media (max-width: 750px) {
    .p-company-partner__text {
        width: 100%;
    }
}

.p-company-partner__lead {
    font-size: 18px;
    line-height: 1.75 !important;
    letter-spacing: 0.05em;
    padding-top: 5px;
    margin-bottom: 31px;
}

@media (max-width: 1000px) {
    .p-company-partner__lead {
        font-size: calc(100vw * 18 / 1440);
        padding-top: calc(100vw * 5 / 1440);
        margin-bottom: calc(100vw * 31 / 1440);
    }
}

@media (max-width: 750px) {
    .p-company-partner__lead {
        font-size: calc(100vw * 28 / 750);
        padding-top: 0;
        letter-spacing: 0.04em;
        margin-bottom: calc(100vw * 35 / 750);
    }
}

.p-company-partner__box {
    width: 100%;
    padding: 20px 28px;
    margin-bottom: 28px;
    background-color: #f0f5f7;
}

@media (max-width: 1000px) {
    .p-company-partner__box {
        padding: calc(100vw * 20 / 1440) calc(100vw * 28 / 1440);
        margin-bottom: calc(100vw * 28 / 1440);
    }
}

@media (max-width: 750px) {
    .p-company-partner__box {
        padding: calc(100vw * 22 / 750) calc(100vw * 30 / 750);
        margin-bottom: calc(100vw * 25 / 750);
    }
}

#eisho .p-company-partner__box {
    height: 200px;
}

@media (max-width: 1000px) {
    #eisho .p-company-partner__box {
        height: calc(100vw * 200 / 1440);
    }
}

@media (max-width: 750px) {
    #eisho .p-company-partner__box {
        height: calc(100vw * 343 / 750);
    }
}

#medios .p-company-partner__box {
    height: 170px;
}

@media (max-width: 1000px) {
    #medios .p-company-partner__box {
        height: calc(100vw * 170 / 1440);
    }
}

@media (max-width: 750px) {
    #medios .p-company-partner__box {
        height: calc(100vw * 293 / 750);
    }
}

#visionscience .p-company-partner__box {
    height: 190px;
}

@media (max-width: 1000px) {
    #visionscience .p-company-partner__box {
        height: calc(100vw * 190 / 1440);
    }
}

@media (max-width: 750px) {
    #visionscience .p-company-partner__box {
        height: calc(100vw * 343 / 750);
    }
}

.p-company-partner__box-title {
    font-size: 18px;
    letter-spacing: 0.05em;
    font-weight: 700;
}

@media (max-width: 1000px) {
    .p-company-partner__box-title {
        font-size: calc(100vw * 18 / 1440);
    }
}

@media (max-width: 750px) {
    .p-company-partner__box-title {
        font-size: calc(100vw * 28 / 750);
        margin-bottom: calc(100vw * 2 / 750);
    }
}

.p-company-partner__box-text {
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1.68 !important;
}

@media (max-width: 1000px) {
    .p-company-partner__box-text {
        font-size: calc(100vw * 18 / 1440);
    }
}

@media (max-width: 750px) {
    .p-company-partner__box-text {
        font-size: calc(100vw * 28 / 750);
        line-height: 1.786 !important;
    }
}

.p-company-partner__info {
    font-size: 18px;
    letter-spacing: 0.05em;
    line-height: 1.68 !important
}

@media (max-width: 1000px) {
    .p-company-partner__info {
        font-size: calc(100vw * 18 / 1440);
    }
}

@media (max-width: 750px) {
    .p-company-partner__info {
        line-height: 1.786 !important;
        font-size: calc(100vw * 28 / 750);
    }
}

.p-company-partner__image img {
    width: 100%;
    object-fit: cover;
}

.p-company-partner__image {
    margin-top: 15px;
    height: 300px;
    overflow: hidden;
    width: 400px;
}

@media (max-width: 1000px) {
    .p-company-partner__image {
        margin-top: calc(100vw * 15 / 1440);
        width: calc(100vw * 400 / 1440);
        height: calc(100vw * 300 / 1440);
    }
}

@media (max-width: 750px) {
    .p-company-partner__image {
        margin-top: calc(100vw * 21 / 750);
        width: 100%;
        height: calc(100vw * 503 / 750);
    }
}

.p-company-access__mapframe {
    width: 1000px;
    height: 300px;
    border: 0;
    display: block;
}

@media (max-width: 1000px) {
    .p-company-access__mapframe {
        width: 100%;
        height: calc(100vw * 200 / 1440);
    }
}

@media (max-width: 750px) {
    .p-company-access__mapframe {
        width: 100vw;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        height: calc(100vw * 200 / 750);
    }
}


/*< !-- ACCESS -->*/

#p-company-access {
    margin-bottom: 94px;
}

@media (max-width: 1000px) {
    #p-company-access {
        margin-bottom: calc(100vw * 94 / 1440);
    }
}

@media (max-width: 750px) {
    #p-company-access {
        margin-bottom: calc(100vw * 114 / 750);
    }
}

.p-company-access__map {
    padding-top: 46px;
    margin-bottom: 14px;
}

@media (max-width: 1000px) {
    .p-company-access__map {
        padding-top: calc(100vw * 46 / 1440);
        margin-bottom: calc(100vw * 14 / 1440);
    }
}

@media (max-width: 750px) {
    .p-company-access__map {
        padding-top: calc(100vw * 58 / 750);
        margin-bottom: calc(100vw * 20 / 750);
    }
}

/* .p-company-access__map iframe {
    filter: grayscale(100%);
    -webkit-filter: grayscale(100%);
} */

.p-company-access__address {
    font-size: 16px;
    letter-spacing: 0.05em;
}

@media (max-width: 1000px) {
    .p-company-access__address {
        font-size: calc(100vw * 16 / 1440);
    }
}

@media (max-width: 750px) {
    .p-company-access__address {
        font-size: calc(100vw * 28 / 750);
        line-height: 1.286 !important;
    }
}

/* #p-company {
    position: relative;
}

.cover {
    position: absolute;
    opacity: 0.4;
    z-index: 30;
    inset: 0 auto auto 50%;
    transform: translateX(-50%);
    width: 1440px;
    height: auto;
    image-rendering: -webkit-optimize-contrast;
} */