@charset "utf-8";

/* =====================================
article__header　一部ページ共通のparts　image変える
===================================== */
#article__header {
    width: 100%;
    height: 100vh;
    background-image: url(../images/about-us-top.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    top: 0;
    display: flex;
    align-items: flex-end;
    position: relative;
}

#article__header::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(255,255,255,0.75);
    z-index: 0;
}



#page__header {
    display: block;
    position: absolute;
    top: 148px;
    left: 16px;
}

.page__title {
    font-size: 2.4rem;
    font-weight: 700;
}

.page__title-en {
    font-family: Roboto;
    font-size: 1.6rem;
    font-weight: 700;
}

@media screen and (min-width:1280px) {
    #page__header {
        padding: 120px 160px;
    }
}


/* article__header　一部ページ共通のparts pc */
@media screen and (min-width:1920px) {
    #page__header {
        display: block;
        position: absolute;
        top: 193px;
        left: 160px;
    }

    .page__title {
        font-size: 48px;
        font-weight: 700;
    }

    .page__title-en {
        font-size: 36px;
        font-weight: 700;
    }
}

/* =====================================
section id="philosophy
===================================== */
.philosophy__read {
    width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}

.philosophy__topic {
    text-align: center;
    font-size: 2.0rem;
    font-weight: 700;
}

.philosophy__slogan {
    color: var(--navy, #09174E);
    text-align: center;
    text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
    font-size: 2.4rem;
    font-weight: 700;
    margin-top: 20px;
    padding: 0 14.6%;
    position: relative;
}

.philosophy__text {
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 25px;
    padding: 62px 12.8%;
}

/* section id="philosophy 768 pc */
@media screen and (min-width:768px) {
    .philosophy__text {
        position: absolute;
        bottom: 80px;
    }

}

/* pc 1920 */
@media screen and (min-width:1920px) {
    .philosophy__topic {
        font-size: 36px;
        font-weight: 700;
    }
    
    .philosophy__slogan {
        text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
        font-size: 64px;
        font-weight: 700;
    }
    
    .philosophy__text {
        font-size: 20px;
        font-weight: 400;
    }
}

/* =====================================
section id="message
===================================== */

#message {
    width: 100%;
    height: auto;
    background-image: url(../images/bg-cloth.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    top: 0;
    align-items: flex-end;
    position: relative;
    padding: 32px 12.8%;
}

.section__title-ja {
    color: var(--navy, #09174E);
    text-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
    font-size: 2.0rem;
    font-weight: 700;
}

.section__title-en {
    color: var(--navy, #09174E);
    text-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
    font-family: Roboto;
    font-size: 3.2rem;
    font-weight: 700;
}

.message__contents {
    margin-top: 32px;
}


.message__detail-text {
    color: var(--black, #000);
    font-size: 1.6rem;
    font-weight: 400;
}

.ceo {
    margin-top: 16px;
    display: flex;
    gap: 20px;
    align-items: center;
    justify-content: center;
}

.ceo__image {
    width: 28%;
}

.ceo__company {
    color: #000;
    font-size: 1.6rem;
    font-weight: 400;
    width: fit-content;
}

.ceo__name {
    color: #000;
    font-size: 1.4rem;
    font-weight: 400;
    width: fit-content;
}

.name_tab {
    margin-left: 14px;
}

/* section id="message"　pc 768 */
@media screen and (min-width:768px) {
    .ceo {
        justify-content: center;
    }

    .ceo__company {
        font-size: 16px;
        font-weight: 400;
    }
    
    .ceo__name {
        font-size: 14px;
        font-weight: 400;
    }
}

/* section id="message"　pc 1280 */
@media screen and (min-width:1280px) {
    #message {
        padding: 120px 160px;
    }

    .message__contents {
        display: flex;
        gap: 64px;
    }

    .message__detail-text {
        font-size: 20px;
        font-weight: 400;
    }

    .ceo {
        display: block;
        width: 100%;
    }

    .ceo__image {
        width: 100%;
    }

    .ceo__company {
        width: 200px;
    }
}


/* section id="message"　pc 1920 */
@media screen and (min-width:1920px) {

    .ceo {
        width: 300px;
    }

    .ceo__image {
        width: fit-content;
    }

    .history__detail {
        width: fit-content;
    }

    .message__detail-text {
        width: 50%;
        font-size: 20px;
        font-weight: 400;
    }

    .message__contents {
        display: flex;
        justify-content: space-around;
    } 
}

/* =====================================
section id="history"
===================================== */
#history {
    padding: 32px 0;
    width: 100%;
}

/* section__title　slickパディング設定の調整 */
#history .section__title {
    padding-left: 12.8%;
}

.history__contents {
    margin-top: 48px;
    gap: 20px;
}

.history__item {
    width: 100%;
    aspect-ratio: 1/1;
    background-image: url(../images/bg_history.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    display: flex;
    align-items: flex-end;
    padding-bottom: 10px;
    margin-left: 10px;
    margin-right: 10px;
}

.history__year {
    color: var(--main-blue, #013CA6);
    text-shadow: 4px 5px 5px rgba(0, 0, 0, 0.25);
    font-family: Urbanist;
    font-size: 60px;
    font-style: normal;
    font-weight: 500;
    transform: rotate(90deg);
    transform-origin: top right;
    position: absolute;
    top: 100%;
    bottom: 0;
    width: 100%;
}

.history__detail {
    padding: 4.2%;
    position: absolute;
    top: 50%;
}

.history__detail-year {
    font-family: Roboto;
    font-size: 20px;
    font-weight: 500;
}

.history__detail-text {
    font-size: 15px;
    font-weight: 400;
}

/* section id="history pc 768 */
@media screen and (min-width:768px) {
    .history__detail {
        padding: 16px;
    }


    .history__detail-text {
        font-size: 11px;
        font-weight: 400;
        height: 60px;
    }
}

/* 768 pc section id="history */


/* section id="history pc 1280 */
@media screen and (min-width:1280px) {
    #history {
        padding: 120px 0;
    }

    .history__detail-year {
        font-size: 30px;
        font-weight: 500;
    }
    
    .history__detail-text {
        font-size: 14px;
        font-weight: 400;
    }
}

/* 1280 pc section id="history */


/* section id="history pc 1600 */
@media screen and (min-width:1600px) {

    .history__detail-year {
        font-size: 40px;
        font-weight: 500;
    }
    
    .history__detail-text {
        font-size: 20px;
        font-weight: 400;
    }
}

/* 1600 pc section id="history */