@charset "utf-8";

.mainTopic--about span {
    margin-top: 0;
}

.mainImg--about {
    object-position: 50% 50%;
    filter: brightness(90%) contrast(100%)
}

/* =====================
message
===================== */
.topic--message {
    padding: 100px 0;
    margin: 0 auto;
}

.topic--message::after {
    display: none;
}

.message {
    padding: 50px var(--contentPadding);
    background-image: url(../images/company-message.JPG);
    background-size: cover;
    background-position: 50% 45%;
    background-repeat: no-repeat;
    background-attachment: scroll;
    position: relative;
}

.message__item {
   padding: var(--contentPadding);
   margin: 0 auto;
   background-color: rgba(47, 47, 47, 0.70);
   width: 91.4%;
}

.message__item--first {
    padding-bottom: 0;
}

.message__item--second {
    padding-top: 0;
}

.message__txt {
    color: var(--primary-white);
    font-size: 1.6rem;
    line-height: 2.5;
}

.message__txt--sign {
    text-align: center;
    margin-top: 30px;
}

/* message pc */
@media screen and (min-width: 768px) {
    .topic--message {
        padding: 10% 0;
    }

    .message {
        padding: 10%;
        background-attachment: fixed;
    }

    .message__item {
        width: 80%;
    }
    
    .message__item--first {
        margin: 0 auto 0 0;
        padding-bottom: var(--contentPadding);
    }
    
    .message__item--second {
        margin: 15% 0 0 auto;
        padding-top: var(--contentPadding);
    }

    .message__txt {
        font-size: clamp(1.6rem, 1.4vw, 2.4rem);
        line-height: 3;
    }

    .message__txt--sign {
        text-align: end;
    }
}/* 768px pc */

/* =====================
history
===================== */
.section--history {
    padding: 100px var(--contentPadding);
    background-color: var(--primary-white);
}

.history {
    margin: 120px auto 0;
    max-width: 600px;
}

.history__item {
    padding: 4px;
    margin-top: 30px;
    border-bottom: 0.25px solid var(--primary-black);
}

.history__item:first-of-type {
    margin-top: 0;
}

.history__year {
    font-size: 2rem;
    margin-bottom: 10px;
}

.history__event {
    font-size: 1.6rem;
    line-height: 2;
    position: relative;
}

.history__event::before {
    content: '';
    display: block;
    width: 10px;
    height: 1px;
    transform: scaleY(0.25);
    background-color: var(--primary-black);
    position: absolute;
    top: 16px;
    left: -15px;
}

.eventGroup {
    padding: 0 0 16px 26px;
}

/* history pc */
@media screen and (min-width: 768px) {
    .section--history {
        padding: 10% 8.3%;
    }

    .history {
        margin: 140px auto 0;
        max-width: 1280px;
    }

    .history__item {
        padding: 40px 4%;
        margin-top: 0;
        display: flex;
        justify-content: flex-start;
        align-items: flex-start;
        gap: 80px;
    }

    .history__year {
        width: 25%;
        margin-bottom: 0;
    }

    .eventGroup {
        padding: 0;
        width: 75%;
    }

    .history__event::before {
        width: 10px;
        left: -20px;
    }
}
/* 768px pc */

/* =====================
company
===================== */
/* 挿絵 */
/* .fig-products {
    display: block;
    background-image: url(../images/company-products1.png);
    background-size: 120%;
    background-position: 48% 54%;
    background-repeat: no-repeat;
    width: 100%;
    height: 234px;
    background-color: white;
    aspect-ratio: 375 / 234;
    object-fit: contain;
    filter: brightness(70%);
} */

.fig-products-img {
    display: block;
    width: 100%;
    aspect-ratio: 375 / 234;
    background-color: white;
    margin: 0 auto;
    object-fit: contain;
    filter: brightness(95%);
}

.section--company {
    padding: 100px var(--contentPadding);
    background-color: var(--primary-white);
}

.companyContainer__company {
    margin: 120px auto 0;
    max-width: 600px;
}

.companyContainer__map {
    display: none;
}

.company__item {
    padding: 4px;
    margin-top: 30px;
    border-bottom: 0.25px solid var(--primary-black);
}

.company__item:first-of-type {
    margin-top: 0;
}

.company__term {
    font-size: 1.6rem;
    margin-bottom: 10px;
}

.company__description {
    display: flex;
    align-items: flex-start;
    font-size: 1.6rem;
    line-height: 2;
    text-align: center;
}

.company__description--fac {
    margin-top: 16px;
}

.company__sub-term {
    display: inline-block;
    flex-shrink: 0;
}

.company__description address {
    display: inline-block;
    text-align: left; 
}

.descriptionGroup {
    padding: 0 0 16px 16px;
}

.mapSp {
    display: block;
    width: 80%;
    max-width: 300px;
    height: auto;
    aspect-ratio: 300/230;
    margin: 8px auto 0;
}

/* company pc */
@media screen and (min-width: 768px) {
    /* 挿絵 */
    /* .fig-products {
        background-size: 65%;
        height: 45vh;
        aspect-ratio: 1440/449;
    } */
    
    .fig-products-img {
        aspect-ratio: 1440/449;
    }

    .section--company {
        padding: 150px 8.3%;
        background-color: var(--primary-liteGray);
    }

    .company__item {
        padding: 20px 4.8%;
        margin-top: 0;
        border-bottom: 0.25px solid var(--primary-black);
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
    }

    .company__term {
        line-height: 2.5;
        margin-bottom: 0;
    }

    .company__description {
        line-height: 2.5;
        text-align: start;
        margin-top: 0;
    }

    .descriptionGroup {
        padding: 0;
        width: 60%;
    }
        
    /* map表示 */
    .companyContainer {
        display: flex;
        justify-content: center;
        align-items: flex-start;
        width: 100%;
        margin: 140px auto 0;
    }

    .mapSp {
        display: none;
    }

    .companyContainer__map {
        display: block;
        width: 43.3%;
        margin-left: 8.3%;
    }

    .mapPc {
        width: 100%;
        height: auto;
        max-height: 900px;
        aspect-ratio: 520/640;
        padding: 20px 0;
    }

    .companyContainer__company {
        margin: 0;
        width: 41.7%;
        max-width: none;
    }
}/* 768px pc */