.commonSection {
    width: 100vw
}

.commonSection .innerBlock {
    width: 79.1666666667vw;
    max-width: 1140px;
    margin: auto
}

@media(max-width: 768px) {
    .commonSection .innerBlock {
        width: 84.8vw;
        max-width: initial
    }
}

.companySectionTitle .title .en,
.companySectionTitle .title .ja {
    display: block;
    overflow: hidden
}

.companySectionTitle .title .en .inner,
.companySectionTitle .title .ja .inner {
    display: inline-block;
    color: #303030;
    line-height: 100%
}

.companySectionTitle .title .en .inner {
    font-family: neue-haas-grotesk-display, sans-serif;
    font-weight: 600;
    font-size: min(2.7777777778vw, 40px);
    letter-spacing: .06em
}

@media(max-width: 768px) {
    .companySectionTitle .title .en .inner {
        font-size: min(8vw, 30px)
    }
}

.companySectionTitle .title .ja .inner {
    margin-top: min(.5555555556vw, 8px);
    font-weight: 700;
    font-size: min(.9722222222vw, 14px);
    letter-spacing: .2em
}

@media(max-width: 768px) {
    .companySectionTitle .title .ja .inner {
        margin-top: min(2.6666666667vw, 10px);
        font-size: min(3.7333333333vw, 14px)
    }
}

.companyDataList {
    width: 100%
}

.companyDataList .list {
    display: flex
}

.companyDataList .list .head {
    min-width: 98px;
    font-weight: 700;
    font-size: min(.9722222222vw, 14px);
    line-height: 200%
}

@media(max-width: 768px) {
    .companyDataList .list .head {
        min-width: 94px;
        font-size: min(3.7333333333vw, 14px)
    }
}

.companyDataList .list .head span {
    display: inline-block
}

.companyDataList .list .text {
    font-weight: 400;
    font-size: min(.9722222222vw, 14px);
    line-height: 200%;
    letter-spacing: .1em
}

@media(max-width: 768px) {
    .companyDataList .list .text {
        font-size: min(3.7333333333vw, 14px)
    }
}

.companyDataList .list .text a {
    text-decoration: none;
    display: inline-block;
    color: #000
}

.companyDataList .list .text strong {
    font-weight: 700
}

.companyDataList.-type02 .list .head {
    display: flex
}

@media(min-width: 769px) {
    .companyDataList.-type02 .list .head {
        justify-content: space-between
    }
}

@media(max-width: 768px) {
    .companyDataList.-type02 .list .head .m {
        padding-left: min(.9722222222vw, 14px)
    }
}

@media(min-width: 769px) {
    .companyDataList.-type02 .list .text {
        padding-left: min(2.2222222222vw, 32px);
        width: calc(100% - min(2.2222222222vw, 32px))
    }
}

.companyAccessList .list {
    margin-bottom: min(2.7777777778vw, 40px)
}

@media(max-width: 768px) {
    .companyAccessList .list {
        margin-bottom: min(6.4vw, 24px)
    }
}

.companyAccessList .list:nth-last-of-type(1) {
    margin-bottom: 0
}

.companyAccessList .list .head {
    height: max-content;
    width: max-content;
    display: flex;
    align-items: center;
    font-weight: 500;
    font-size: min(1.0416666667vw, 15px);
    letter-spacing: .1em;
    color: #303030
}

@media(max-width: 768px) {
    .companyAccessList .list .head {
        font-size: min(4vw, 15px)
    }
}

.companyAccessList .list .head .icon {
    display: flex;
    align-items: center;
    margin-right: min(.5555555556vw, 8px)
}

@media(max-width: 768px) {
    .companyAccessList .list .head .icon {
        margin-right: min(1.6vw, 6px)
    }
}

.companyAccessList .list .head .icon img {
    width: initial;
    height: initial;
    object-fit: contain
}

.companyAccessList .list .text {
    font-weight: 400;
    font-size: min(.9722222222vw, 14px);
    line-height: 180%;
    color: #303030
}

@media(max-width: 768px) {
    .companyAccessList .list .text {
        font-size: min(3.7333333333vw, 14px);
        margin-top: min(1.6vw, 6px)
    }
}

.companyAccessList .list .text a {
    text-decoration: none;
    display: inline-block;
    color: #303030
}

.companyAccessList .list .text strong {
    font-weight: 700
}

.companyBnrLink {
    position: relative;
    z-index: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 12.9861111111vw;
    max-height: 187px;
    width: 38.8888888889vw;
    max-width: 560px;
    background: #f9f6f6;
    transition: .3s ease-in-out
}

@media(max-width: 768px) {
    .companyBnrLink {
        height: 28vw;
        max-height: initial;
        width: 100%;
        max-width: initial
    }
}

.companyBnrLink .img {
    pointer-events: none;
    user-select: none;
    display: block;
    position: relative;
    z-index: 1
}

.companyBnrLink .img svg {
    height: 100%;
    width: 100%;
    object-fit: contain
}

.companyBnrLink .arrow {
    pointer-events: none;
    user-select: none;
    content: "";
    position: absolute;
    bottom: min(.8333333333vw, 12px);
    right: min(1.1111111111vw, 16px);
    z-index: 1;
    height: 12px;
    width: 12px
}

@media(max-width: 768px) {
    .companyBnrLink .arrow {
        bottom: min(2.4vw, 9px);
        right: min(2.4vw, 9px)
    }
}

.companyBnrLink .arrow svg {
    position: absolute;
    top: 0;
    left: 0
}

.companyBnrLink.-cellworlding .img {
    width: 18.5416666667vw;
    max-width: 267px;
    height: 3.75vw;
    max-height: 54px
}

@media(max-width: 768px) {
    .companyBnrLink.-cellworlding .img {
        width: 40.5333333333vw;
        height: 8.2666666667vw;
        max-width: initial;
        max-height: initial
    }
}

.companyBnrLink.-cellinteractive .img {
    width: 17.5597222222vw;
    max-width: 252.86px;
    height: 5.0048611111vw;
    max-height: 72.07px
}

@media(max-width: 768px) {
    .companyBnrLink.-cellinteractive .img {
        width: 38.1333333333vw;
        height: 10.9333333333vw;
        max-width: initial;
        max-height: initial
    }
}

.companyBnrLink svg path {
    transition: .3s ease-in-out
}

@media screen and (min-width: 768px) {
    .companyBnrLink:hover {
        background: #303030
    }

    .companyBnrLink:hover svg path {
        fill: #c4c4c4
    }
}

.blankLink {
    display: block;
    position: relative;
    z-index: 0;
    padding-left: min(3.6111111111vw, 52px)
}

@media(max-width: 768px) {
    .blankLink {
        padding-left: min(13.8666666667vw, 52px)
    }
}

.blankLink::before {
    pointer-events: none;
    user-select: none;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    z-index: 0;
    margin: auto;
    height: 1px;
    width: 2.7777777778vw;
    max-width: 40px;
    background: #303030
}

@media(max-width: 768px) {
    .blankLink::before {
        width: 10.6666666667vw
    }
}

.blankLink .text {
    pointer-events: none;
    user-select: none;
    font-family: neue-haas-grotesk-display, sans-serif;
    font-weight: 600;
    font-size: min(1.1111111111vw, 16px);
    line-height: 175%;
    letter-spacing: .1em;
    color: #303030
}

@media(max-width: 768px) {
    .blankLink .text {
        font-size: min(4.2666666667vw, 16px)
    }
}

.companyProfileArea {
    margin-top: min(12.3611111111vw, 178px)
}

@media(max-width: 768px) {
    .companyProfileArea {
        margin-top: min(26.6666666667vw, 100px)
    }
}

.companyProfileArea .profileBlock {
    margin-top: min(6.8055555556vw, 98px);
    display: flex;
    justify-content: space-between
}

@media(max-width: 768px) {
    .companyProfileArea .profileBlock {
        display: block;
        margin-top: min(14.4vw, 54px)
    }
}

.companyProfileArea .profileBlock .block {
    width: calc(50% - min(.6944444444vw, 10px))
}

@media(max-width: 768px) {
    .companyProfileArea .profileBlock .block {
        width: 100%
    }
}

.companyProfileArea .profileBlock .block .companyDataList .list {
    margin-bottom: min(1.6666666667vw, 24px)
}

@media(min-width: 769px) {
    .companyProfileArea .profileBlock .block .companyDataList .list:nth-last-of-type(1) {
        margin-bottom: 0
    }
}

@media(max-width: 768px) {
    .companyProfileArea .profileBlock .block .companyDataList .list {
        margin-bottom: min(6.4vw, 24px)
    }
}

@media(max-width: 768px) {
    .companyProfileArea .profileBlock .block:nth-of-type(2) .companyDataList .list:nth-last-of-type(1) {
        margin-bottom: 0
    }
}

.companyGroupArea {
    margin-top: min(14.7222222222vw, 212px)
}

@media(max-width: 768px) {
    .companyGroupArea {
        margin-top: min(28.2666666667vw, 106px)
    }
}

.companyGroupArea .groupBlock {
    margin-top: min(7.3611111111vw, 106px);
    display: flex;
    justify-content: space-between
}

@media(max-width: 768px) {
    .companyGroupArea .groupBlock {
        display: block;
        margin-top: min(14.4vw, 54px)
    }
}

.companyGroupArea .groupBlock .block {
    width: calc(50% - min(.6944444444vw, 10px))
}

@media(max-width: 768px) {
    .companyGroupArea .groupBlock .block {
        width: 100%;
        margin-bottom: min(10.6666666667vw, 58px)
    }

    .companyGroupArea .groupBlock .block:nth-last-of-type(1) {
        margin-bottom: 0
    }
}

.companyGroupArea .groupBlock .block .companyDataList {
    margin-top: min(1.6666666667vw, 40px)
}

@media(max-width: 768px) {
    .companyGroupArea .groupBlock .block .companyDataList {
        margin-top: min(6.4vw, 40px)
    }
}

.companyAccessArea {
    margin-top: min(12.1527777778vw, 175px);
    background: #f9f6f6;
    padding: min(9.4444444444vw, 136px) 0
}

@media(max-width: 768px) {
    .companyAccessArea {
        margin-top: min(32vw, 120px);
        padding: min(26.6666666667vw, 100px) 0
    }
}

.companyAccessArea .dataBlock {
    margin-top: min(7.3611111111vw, 106px);
    display: flex;
    justify-content: space-between
}

@media(max-width: 768px) {
    .companyAccessArea .dataBlock {
        display: block;
        margin-top: min(10.6666666667vw, 40px)
    }
}

.companyAccessArea .dataBlock .block {
    width: calc(50% - min(.6944444444vw, 10px))
}

@media(min-width: 769px) {
    .companyAccessArea .dataBlock .block {
        display: flex;
        flex-wrap: wrap;
        align-content: flex-start
    }
}

@media(max-width: 768px) {
    .companyAccessArea .dataBlock .block {
        width: 100%
    }
}

.companyAccessArea .dataBlock .block .companyAccessList {
    width: 32.1527777778vw;
    max-width: 463px
}

@media(min-width: 769px) {
    .companyAccessArea .dataBlock .block .companyAccessList {
        order: 1
    }
}

@media(max-width: 768px) {
    .companyAccessArea .dataBlock .block .companyAccessList {
        width: 100%;
        max-width: initial;
        margin-top: min(10.6666666667vw, 40px)
    }
}

.companyAccessArea .dataBlock .block .btnWrap {
    margin-top: min(7.2222222222vw, 104px)
}

@media(min-width: 769px) {
    .companyAccessArea .dataBlock .block .btnWrap {
        order: 2
    }
}

@media(max-width: 768px) {
    .companyAccessArea .dataBlock .block .btnWrap {
        margin: min(6.4vw, 24px) 0 0 auto;
        width: max-content
    }
}

.companyAccessArea .dataBlock .block .btnWrap .blankLink {
    width: 17.0138888889vw;
    height: 1.8055555556vw
}

@media screen and (min-width: 1441px) {
    .companyAccessArea .dataBlock .block .btnWrap .blankLink {
        width: 245px;
        height: 26px
    }
}

@media screen and (max-width: 768px) {
    .companyAccessArea .dataBlock .block .btnWrap .blankLink {
        width: 65.3333333333vw;
        height: 8vw
    }
}

.companyAccessArea .dataBlock .block .mapImg {
    height: max-content;
    width: 100%
}

@media(max-width: 768px) {
    .companyAccessArea .dataBlock .block .mapImg {
        width: 100vw;
        margin-left: -7.7333333333vw
    }
}

.companyAccessArea .dataBlock .block .mapImg img {
    height: max-content;
    width: 100%;
    object-fit: contain
}

@media(min-width: 769px) {
    .companyAccessArea .dataBlock .block:nth-of-type(1) {
        order: 2
    }
}

@media(min-width: 769px) {
    .companyAccessArea .dataBlock .block:nth-of-type(2) {
        order: 1
    }
}

.companyHistoryArea {
    margin: min(9.1666666667vw, 132px) 0 min(18.8888888889vw, 272px)
}

@media(max-width: 768px) {
    .companyHistoryArea {
        margin: min(32vw, 120px) 0 min(53.3333333333vw, 200px)
    }
}

.companyHistoryArea .dataBlock {
    margin-top: min(7.3611111111vw, 106px);
    display: flex;
    justify-content: space-between
}

@media(max-width: 768px) {
    .companyHistoryArea .dataBlock {
        display: block;
        margin-top: min(10.6666666667vw, 40px)
    }
}

.companyHistoryArea .dataBlock .block {
    width: calc(50% - min(.6944444444vw, 10px))
}

@media(max-width: 768px) {
    .companyHistoryArea .dataBlock .block {
        width: 100%
    }

    .companyHistoryArea .dataBlock .block .companyDataList .list {
        display: block;
        margin-bottom: min(2.6666666667vw, 10px)
    }

    .companyHistoryArea .dataBlock .block .companyDataList .list .text {
        text-align: justify;
        letter-spacing: initial
    }
}

@media(max-width: 768px) {
    .companyHistoryArea .dataBlock .block:nth-of-type(2) .companyDataList .list:nth-last-of-type(1) {
        margin-bottom: 0
    }
}