@charset "utf-8";

/* ==========================================
CorporateIdentity
============================================= */

.mainVisual__animation--img:not(:first-of-type){
    opacity: 0;
    transition: all 0.7s ease-in;
}

.mainVisual__animation--img.view:not(:first-of-type){
    opacity: 1;
    transition: all 0.7s ease-out;
}

.topic__box {
    width: 50%;
    overflow: auto;
    margin-left: auto;
}

.section__CorporateIdentity {
    width: 100%;
    height: 536px;
    background-color: var(--primary_corporate_identity);
    margin-top: 80px; 
    position: relative;
}

.topic__box--group {
    display: flex;
    width: 100%;
}

.topic__group {
    width: 50%;
}

.topic__illust {
    width: 50%;
    margin-top: 60px;
    padding-right: 40px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
}

.topic__illust:hover,
.topic__illust.Portfolio:hover {
   transform: translateY(-10px);
}


.topic__lead--text {
    text-align: left;
    margin-left: 40px;
}

.hatena__font {
    font-family: "Shippori Mincho", serif;
}

.text__link--btn {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    position: absolute;
    right: 40px;
    bottom: 36px;
}

.text__link--btn:hover {
    color: var(--primary_green);
}
.text__link--btn:hover .arrow,.text__link--btn:hover .arrow:before {
    background-color: var(--primary_green);
}

.text__link {
    display: block;
    transition: 0.4s;
    margin-right: 8px;
}


.arrow {
    position: relative;
    display: inline-block;
    width: 33px;
    height: 1px;
    margin-top: 7px;
    border-radius: 10px;
    background-color: var(--primary_corporate);
}

.arrow::before {
    content: "";
    position: absolute;
    top: calc(50% - 1px);
    right: 0;
    width: 16px;
    height: 1px;
    border-radius: 50%;
    background-color: var(--primary_corporate);
    transform: rotate(45deg);
    transform-origin: calc(100% - 1px) 50%;
}


/* CorporateIdentity pc end */

@media screen and (max-width: 769px) {
    .topic__box {
        width: 100%;
        overflow: initial;
    }

    .section__CorporateIdentity {
        margin-top: 0; 
        position: relative;
        display: flex;
        flex-direction: column;
    }

    .topic__box--group {
        display: contents;
    }

    .topic__illust {
        width: 100%;
        margin: 60px 0 0 0;
        padding-right: 0px;
        padding-left: 16px;
        order: 3;
        text-align: left;
    }

    .topic__lead--text {
        text-align: left;
        margin-left: 16px;
        order: 2;
    }


    .topic__group {
        width: 100%;
        order: 1;
    }

    .text__link--btn {
        position: absolute;
        right: 20px;
        bottom: 16px;
    }


}

/* CorporateIdentity sp end */

/* ==========================================
WorkProcess
============================================= */
.section__WorkProcess {
    width: 100%;
    height: 536px;
    background-color: var(--primary_work_process);
    position: relative;
}

.topic__lead--text {
    letter-spacing: 0.05em;
}

.text__link {
    font-family: "Outfit",
        serif;
    display: block;
    transition: 0.4s;
}

.text__link--btn {
    display: flex;
    width: 100%;
}

.text__link--btn:hover {
    color: var(--primary_green);
}

/* WorkProcess pc end */

@media screen and (max-width: 769px) {
    .section__WorkProcess {
        position: relative;
        display: flex;
        flex-direction: column;
    }

}

/* WorkProcess sp end */



/* ==========================================
Portfolio
============================================= */
.section__Portfolio {
    width: 100%;
    height: 536px;
    background-color: var(--primary_portfolio);
    position: relative; 
}

.topic__group.portfolio {
    width: 100%;
}

.topic__illust.Portfolio {
    width: 100%;
    padding-right: 0px;
    position: absolute;
    margin-top: 0;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

/* Portfolio pc */

@media screen and (max-width: 769px) {
    .topic__illust.Portfolio {
        margin: 0 auto;
        position: absolute;
        top: 50%;
        left: 0;
        transform: translateY(-60%);
        text-align: center;
        padding-left: 0px;
    }

}

/* ==========================================
Company
============================================= */
.section__Company {
    width: 100%;
    height: 214px;
    background-color: var(--primary_company);
    position: relative; 
}

.company__btn {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    position: absolute;
    right: 40px;
    bottom: 36px;
}

/* Company pc */

@media screen and (max-width: 769px) {
    .company__btn {
        position: absolute;
        right: 20px;
        bottom: 16px;
    }
}

/* Company sp */
