/* English SIC: pages/company.css; extracted from the original English styles. */
.m__company {
    position: relative
}

@media print, screen and (min-width: 768px) {
    .m__company.l__bg-section {
        background: linear-gradient(to bottom, #0000 935px, #fff 1185px), url(/sic/assets/img/common/bg_mv_pc.png) center top
    }
}

@media only screen and (max-width: 767px) {
    .m__company.l__bg-section {
        background: linear-gradient(to bottom, #0000 1125px, #fff 2110px), url(/sic/assets/img/common/bg_mv_sp.png) center top
    }
}

.m__company .l__inner {
    min-width: auto
}

.m__company>section+section {
    margin-top: 140px
}

@media only screen and (max-width: 767px) {
    .m__company>section+section {
        margin-top: 110px
    }
}

.m__company .m__hero__text-box {
    padding-top: 90px;
    margin-bottom: 60px
}

@media only screen and (max-width: 767px) {
    .m__company .m__hero__text-box {
        padding-top: 55px;
        margin-bottom: 0;
        padding-bottom: 55px
    }
}

.m__company .m__hero__text-box h1.m__title__page {
    margin-bottom: 42px
}

@media only screen and (max-width: 767px) {
    .m__company .m__hero__text-box h1.m__title__page {
        margin-bottom: 20px
    }
}

.m__company .m__hero__text-box .en-title {
    margin-right: 8px
}

@media only screen and (max-width: 767px) {
    .m__company .m__hero__text-box .lead {
        margin-top: 19px
    }
}

@media only screen and (max-width: 767px) {
    .m__company__title .m__hero__text-box {
        text-align: center
    }
}

@media only screen and (max-width: 767px) {
    .m__company__title .m__hero__text-box h1.m__title__page {
        margin: 0 -10px 20px
    }
}

@media only screen and (max-width: 767px) {
    .m__company__title .m__hero__text-box .en-title {
        justify-content: center
    }
}

.m__company__img-box {
    width: 100%;
    background: #fff
}

@media print,
screen and (min-width: 768px) {
    .m__company__img-box {
        aspect-ratio: 16/7.5;
        overflow: hidden;
        position: relative
    }
}

@media print,
screen and (min-width: 768px) {
    .m__company__img-box img {
        position: absolute;
        bottom: 0;
        left: 50%;
        object-fit: cover;
        transform: translate(-50%);
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
        will-change: transform;
        max-width: 100%
    }
}

.m__company__message {
    padding-bottom: 0
}

@media print,
screen and (min-width: 768px) {
    .m__company__message {
        background: #fff
    }
}

@media only screen and (max-width: 767px) {
    .m__company__message {
        padding-bottom: 0
    }
}

.m__company__message .l__inner {
    max-width: 792px;
    margin: 0 auto
}

@media only screen and (max-width: 767px) {
    .m__company__message .l__inner .m__hero__text-box {
        text-align: left;
        padding-top: 110px;
        padding-bottom: 12px
    }
}

@media only screen and (max-width: 767px) {
    .m__company__message .l__inner .m__hero__text-box .en-title {
        justify-content: start
    }
}

.m__company__message .l__inner .description {
    font-size: 1.8rem;
    font-weight: 500
}

.m__company__message .l__inner .description p+p {
    margin-top: 2em
}

@media only screen and (max-width: 767px) {
    .m__company__message .l__inner .description p+p {
        margin-top: 1em
    }
}

.m__company__message .l__inner .signature {
    margin-top: 1.5em;
    text-align: right;
}

@media print,
screen and (min-width: 768px) {
    .m__company__message .l__inner .signature p {
        font-size: 1.6rem;
    }
}

@media only screen and (max-width: 767px) {
    .m__company__message .l__inner .signature p {
        font-size: 1.4rem;
    }

    .m__company__message .l__inner .signature p .u-sp-only {
        display: none;
    }
}

.m__company__philosophy {
    background: #fff
}

@media only screen and (max-width: 767px) {
    .m__company__philosophy {
        background: #f4f4f8
    }
}

@media print,
screen and (min-width: 768px) {
    .m__company__philosophy .l__inner {
        max-width: 1164px;
        background: #f4f4f8;
        border-radius: 24px;
        padding: 0 80px 140px
    }
}

@media only screen and (max-width: 767px) {
    .m__company__philosophy .l__inner {
        padding-bottom: 110px
    }
}

.m__company__philosophy .l__inner .m__hero__text-box {
    text-align: center
}

@media only screen and (max-width: 767px) {
    .m__company__philosophy .l__inner .m__hero__text-box {
        text-align: left;
        padding-top: 110px;
        padding-bottom: 12px
    }
}

.m__company__philosophy .l__inner .m__hero__text-box .en-title {
    justify-content: center
}

@media only screen and (max-width: 767px) {
    .m__company__philosophy .l__inner .m__hero__text-box .en-title {
        justify-content: start
    }
}

.m__company__philosophy .l__inner .description {
    font-size: 1.8rem;
    font-weight: 500
}

@media print,
screen and (min-width: 768px) {
    .m__company__philosophy .l__inner .description {
        text-align: center
    }
}

.m__company__philosophy .l__inner .description p+p {
    margin-top: 2em
}

@media only screen and (max-width: 767px) {
    .m__company__philosophy .l__inner .description p+p {
        margin-top: 1em
    }
}

.m__company__philosophy .l__inner .description .emphasis {
    font-family:var(--sic-font-zen);
    font-weight: 700;
    font-size: 2.4rem;
    line-height: 1.5;
    color: var(--sic-color-primary);
    margin: 2em auto
}

.m__company__philosophy .l__inner .description .notes {
    display: inline-block;
    margin: 2em auto auto;
    font-size: 1.4rem
}

.m__company__philosophy .l__inner .description .notes p.notes_box01 {
    display: block
}

.m__company__philosophy .l__inner .description .notes p.notes_box02 {
    display: block;
    margin-top: 0
}

.m__company__philosophy .l__inner .description .notes p.notes_box02 span {
    display: block;
    text-align: left
}

.m__company__vision,
.m__company__overview,
.m__company__facilities {
    background: #fff
}

.m__company__philosophy + .m__company__vision {
    margin-top: 0
}

.m__company__overview {
    padding-top: 0
}

@media print,
screen and (min-width: 768px) {
    .m__company__vision .img-box .img01 {
        position: absolute;
        right: calc(50% + 465px);
        top: 1070px;
        z-index: -1
    }
}

@media print,
screen and (min-width: 768px) {
    .m__company__vision .img-box .img02 {
        position: absolute;
        left: calc(50% + 465px);
        top: 250px;
        z-index: -1
    }
}

@media only screen and (max-width: 767px) {
    .m__company__vision .img-box {
        padding-top: 55px;
        margin: 0 -24px
    }
}

@media only screen and (max-width: 767px) {
    .m__company__vision .img-box .img03 {
        width: 100%
    }
}

.m__company__vision .l__inner,
.m__company__overview .l__inner,
.m__company__facilities .l__inner {
    max-width: 792px;
    margin: 0 auto
}

.m__company__overview>.l__inner>h2.section-title,
.m__company__facilities>.l__inner>h2.section-title {
    margin-top: 0
}

@media print,
screen and (min-width: 768px) {
    .m__company__vision .l__inner .m__hero__text-box {
        padding-top: 144px
    }
}

@media only screen and (max-width: 767px) {
    .m__company__vision .l__inner .m__hero__text-box {
        text-align: left;
        padding-bottom: 25px
    }
}

@media only screen and (max-width: 767px) {
    .m__company__vision .l__inner .m__hero__text-box .en-title {
        justify-content: start
    }
}

.m__company__vision .l__inner .text-box {
    background: #f4f4f8;
    border-radius: 24px;
    padding: 36px
}

.m__company__vision .l__inner .text-box+.text-box {
    margin-top: 24px
}

.m__company__vision .l__inner .text-box .title {
    font-family:var(--sic-font-zen);
    font-weight: 700;
    font-size: 2.4rem;
    line-height: 1.5;
    color: var(--sic-color-primary)
}

.m__company__vision .l__inner .text-box .text {
    margin-top: 16px;
    color: var(--sic-color-text)
}

.m__company__overview .content {
    border: 1px dotted #6a6d98
}

.m__company__overview .content dl {
    padding: 35px 35px 35px 55px;
}

@media print,
screen and (min-width: 768px) {
    .m__company__overview .content dl {
        display: flex
    }
}

@media only screen and (max-width: 767px) {
    .m__company__overview .content dl {
        padding: 32px;
    }
}

.m__company__overview .content dl:not(:first-child) {
    border-top: 1px dotted #6a6d98
}

.m__company__overview .content dl dt {
    color: var(--sic-color-primary);
    font-size: 15px;
}

@media print,
screen and (min-width: 768px) {
    .m__company__overview .content dl dt {
        width: 140px;
        flex-shrink: 0;
       
    }
}

.m__company__overview .content dl dd {
    color: var(--sic-color-text);
     padding-left: 20px;
}

@media only screen and (max-width: 767px) {
    .m__company__overview .content dl dd {
        margin-top: 4px;
         padding-left: 0;
    }
}

@media print,
screen and (min-width: 768px) {
    .m__company__facilities .m__two-columns {
        align-items: center
    }
}

@media only screen and (max-width: 767px) {
    .m__company__facilities .m__link__external-list {
        margin-top: 28px
    }
}

@media only screen and (max-width: 767px) {
    .m__company__facilities .access h4.m__title__lv4 {
        margin-top: 32px
    }
}

.m__company__facilities .access p+p {
    margin-top: 1.8em
}

@media only screen and (max-width: 767px) {
    .m__company__facilities .access p+p {
        margin-top: 1.4em
    }
}

.m__company__facilities .access h4.m__title__lv4 {
    margin-bottom: 18px
}
