@charset "UTF-8";
/* CSS Document */

.Works__wrapper {
    padding: 5rem 10.6%;
}

.Works {
    color: #333333;
    font-family: Inter;
    font-size: 4rem;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: 0.1em;
    text-align: left;
    padding-bottom: 1rem;
    border-bottom: solid 3px #333333;
}

@media screen and (min-width:1024px) {
    .Works__wrapper {
        padding: 10rem 6.9%;
    }

    .Works {
        font-size: 6rem;
        letter-spacing: 0.1em;
    }
}

/* works__top */
.works__top {
    margin-top: 30px;
}

.works__image {
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
}

.worksTitle {
    color: #333333;
    font-family: "Noto Sans JP";
    font-size: 2.5rem;
    font-style: normal;
    line-height: normal;
    letter-spacing: 0.1em;
    text-align: left;
    margin-top: 20px;
}

.works__Largebox {
    margin-top: 20px;
}

.works__Box {
    display: flex;
    align-items: center;
    margin-top: 30px;
}

.works__Box__left {
    position: relative;
    width: 120px;
    height: 120px;
    background: #333333;
    border-radius: 10px;
    box-shadow: 4px 4px 6px 6px rgba(130, 130, 130, 0.2);
}

.works__Box__leftLogo__inCharge {
    position: absolute;
    top: 40%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 60px;
    height: 50px;
}

.works__Box__lefttext {
    position: absolute;
    color: #FFF;
    font-size: 1.3rem;
    font-style: normal;
    line-height: normal;
    top: 80%;
    left: 50%;
    transform: translate(-50%,-50%);
}

.works__Box__right {
    margin-left: 30px;
}

.works__Text {
    color: #333333;
    font-size: 1.4rem;
    font-style: normal;
    font-weight: 400;
    line-height: 28px;
    letter-spacing: 0.1em;
    text-align: left;
    flex-wrap: wrap;
}

.works__Box__leftLogo__tool {
    position: absolute;
    top: 40%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 45px;
    height: 45px;
}

.works__Box__lefttext__tool {
    position: absolute;
    color: #FFF;
    font-size: 1.3rem;
    font-style: normal;
    line-height: normal;
    top: 80%;
    left: 30%;
    transform: translate(-15%,-50%);
}

.works__Box__leftLogo__period {
    position: absolute;
    top: 40%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 51px;
    height: 47px;
}

.works__Box__lefttext__period {
    position: absolute;
    color: #FFF;
    font-size: 1.3rem;
    font-style: normal;
    line-height: normal;
    top: 80%;
    left: 33%;
    transform: translate(-15%,-50%);
}

.works__Box__leftLogo__url {
    position: absolute;
    top: 40%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 63px;
    height: 63px;
}

.works__Box__lefttext__url {
    position: absolute;
    color: #FFF;
    font-size: 1.3rem;
    font-style: normal;
    line-height: normal;
    top: 80%;
    left: 40%;
    transform: translate(-15%,-50%);
}
/* works__top */

/* works__top__sp */
@media screen and (min-width:1024px) {
    .works__top {
        margin-top: 100px;
    }

    .works__image {
        width: 50%;
        height: auto;
        object-fit: cover;
    }

    .worksTitle {
        margin-top: 20px;
        font-size: 4rem;
        letter-spacing: 0.1em;
    }

    .works__Largebox {
        margin-top: 30px;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        gap: 50px;
    }

    .works__Box {
        width: 45%;
        margin-top: 0;
    }

    .works__Box__left {
        position: relative;
        width: 150px;
        height: 150px;
    }

    .works__Box__leftLogo__inCharge {
        position: absolute;
        top: 40%;
        left: 47%;
        transform: translate(-50%,-50%);
        width: 80px;
        height: 80px;
    }

    .works__Box__lefttext {
        position: absolute;
        top: 81%;
        left: 46%;
        transform: translate(-42%,-50%);
        font-size: 1.8rem;
    }

    .works__Box__right {
        margin-left: 50px;
    }

    .works__Text {
        font-size: 1.8rem;
        line-height: 36px;
        letter-spacing: 0.1em;
    }

    .works__Box__leftLogo__tool {
        position: absolute;
        top: 40%;
        left: 50%;
        transform: translate(-50%,-50%);
        width: 70px;
        height: 70px;
    }

    .works__Box__lefttext__tool {
        position: absolute;
        top: 80%;
        left: 27%;
        transform: translate(-15%,-50%);
        font-size: 1.8rem;
    }

    .works__Box__leftLogo__period {
        position: absolute;
        top: 40%;
        left: 50%;
        transform: translate(-50%,-50%);
        width: 70px;
        height: 70px;
    }

    .works__Box__lefttext__period {
        color: #FFF;
        position: absolute;
        top: 80%;
        left: 44%;
        transform: translate(-38%,-50%);
        font-size: 1.8rem;
    }

    .works__Box__leftLogo__url {
        position: absolute;
        top: 40%;
        left: 50%;
        transform: translate(-50%,-50%);
        width: 70px;
        height: 70px;
    }

    .works__Box__lefttext__url {
        position: absolute;
        top: 80%;
        left: 40%;
        transform: translate(-15%,-50%);
        font-size: 1.8rem;
    }
}
/* works__top sp 1024px */

/* works__middle */
.works__Middle {
    margin-top: 50px;
}

.worksSubtitle {
    color: #333333;
    font-size: 2rem;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    text-align: left;
    padding-bottom: 1rem;
    border-bottom: 1px solid #333333;
}

.works__Box__block {
    display: block;
    margin-top: 30px;
}

.works__Box__left__overview {
    position: relative;
    width: 120px;
    height: 120px;
    background: #333333;
    border-radius: 10px;
    box-shadow: 4px 4px 6px 6px rgba(130, 130, 130, 0.2);
}


.works__Box__leftLogo__overview {
    position: absolute;
    top: 40%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 64px;
    height: 54px;
}

.works__Box__lefttext__overview {
    position: absolute;
    color: #FFF;
    font-size: 1.3rem;
    font-style: normal;
    line-height: normal;
    top: 80%;
    left: 50%;
    transform: translate(-50%,-50%);
}

.works__Box__right__block {
    margin-top: 30px;
}

.works__Box__left__concept {
    position: relative;
    width: 120px;
    height: 120px;
    background: #333333;
    border-radius: 10px;
    box-shadow: 4px 4px 6px 6px rgba(130, 130, 130, 0.2);
}

.works__Box__leftLogo__concept {
    position: absolute;
    top: 40%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 60px;
    height: 48px;
}

.works__Box__lefttext__concept {
    position: absolute;
    color: #FFF;
    font-size: 1.3rem;
    font-style: normal;
    line-height: normal;
    top: 80%;
    left: 37%;
    transform: translate(-28%,-50%);
}

.works__Box__leftLogo__purpose {
    position: absolute;
    top: 40%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 70px;
    height: 62px;
}

.works__Box__lefttext__purpose {
    position: absolute;
    color: #FFF;
    font-size: 1.3rem;
    font-style: normal;
    line-height: normal;
    top: 80%;
    left: 50%;
    transform: translate(-50%,-50%);
}

.works__Box__leftLogo__target {
    position: absolute;
    top: 40%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 63px;
    height: 63px;
}

.works__Box__lefttext__target {
    position: absolute;
    color: #FFF;
    font-size: 1.3rem;
    font-style: normal;
    line-height: normal;
    top: 80%;
    left: 37%;
    transform: translate(-28%,-50%);
}

.PCbr {
    display: none;
}

/* works__middle */
@media screen and (min-width:1024px) {
    .works__Middle {
        margin-top: 100px;
    }

    .worksSubtitle {
        font-size: 3rem;
    }

    .works__Box__block {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 50px;
        margin-top: 0;
    }

    .works__Box__left__overview {
        position: relative;
        width: 150px;
        height: 150px;
    }

    .works__Box__leftLogo__overview {
        position: absolute;
        top: 40%;
        left: 50%;
        transform: translate(-50%,-50%);
        width: 90px;
        height: 70px;
    }

    .works__Box__lefttext__overview {
        position: absolute;
        color: #FFF;
        font-size: 1.8rem;
        top: 80%;
        left: 50%;
        transform: translate(-50%,-50%);
    }

    .works__Box__left__concept {
        position: relative;
        width: 150px;
        height: 150px;
    }

    .works__Box__leftLogo__concept {
        position: absolute;
        top: 40%;
        left: 50%;
        transform: translate(-50%,-50%);
        width: 90px;
        height: 90px;
    }

    .works__Box__lefttext__concept {
        position: absolute;
        color: #FFF;
        font-size: 1.8rem;
        top: 80%;
        left: 33%;
        transform: translate(-24%,-50%);
    }

    .works__Box__right__block {
        margin-top: 0;
    }

    .PCbr {
        display: block;
    }

    .works__Box__leftLogo__purpose {
        position: absolute;
        top: 40%;
        left: 50%;
        transform: translate(-50%,-50%);
        width: 90px;
        height: 90px;
    }

    .works__Box__lefttext__purpose {
        position: absolute;
        color: #FFF;
        font-size: 1.8rem;
        top: 80%;
        left: 50%;
        transform: translate(-50%,-50%);
    }

    .works__Box__leftLogo__target {
        position: absolute;
        top: 40%;
        left: 50%;
        transform: translate(-50%,-50%);
        width: 80px;
        height: 80px;
    }

    .works__Box__lefttext__target {
        position: absolute;
        color: #FFF;
        font-size: 1.8rem;
        top: 80%;
        left: 33%;
        transform: translate(-22%,-50%);
    }
}
/* works__middle 1024px */

/* works__bottom */
.works__bottom {
    margin-top: 50px;
}

.works__bottom__largebox {
    margin-top: 30px;
}

.works__bottom__box {
    margin-top: 50px;
}

.works__bottom__subtitle {
    color: #286363;
    font-family: Inter;
    font-size: 2rem;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    text-align: left;
    padding-bottom: 10px;
    border-bottom: 1px solid #286363;
    width: 100%;
}

.works__bottom__text {
    color: #333333;
    font-family: Inter;
    font-size: 1.4rem;
    font-style: normal;
    font-weight: 400;
    line-height: 2.8rem; 
    letter-spacing: 0.1em;
    text-align: left;
    margin-top: 20px;
}

.works__bottom__picture {
    margin-top: 30px;
    width: 100%;
}

.topPC {
    height: 100%;
    object-fit: contain;
    box-shadow: 4px 4px 6px 6px rgba(130, 130, 130, 0.2);
}

.topSp__flex {
    display: none;
}

.topSp {
    width: 45%;
    height: 100%;
    object-fit: contain;
    box-shadow: 4px 4px 6px 6px rgba(130, 130, 130, 0.2);
}

.WorksPC {
    height: 100%;
    object-fit: contain;
    box-shadow: 4px 4px 6px 6px rgba(130, 130, 130, 0.2);
}

.WorksSp {
    width: 45%;
    height: 100%;
    object-fit: contain;
    box-shadow: 4px 4px 6px 6px rgba(130, 130, 130, 0.2);
}

.WorksSp__flex {
    display: flex;
    justify-content: space-between;
    margin-top: 30px;
}

.AboutMePC {
    height: 100%;
    object-fit: contain;
    box-shadow: 4px 4px 6px 6px rgba(130, 130, 130, 0.2);
}

.AboutmeSp__flex {
    display: none;
}

.AboutMeSp {
    width: 45%;
    height: 100%;
    object-fit: contain;
    box-shadow: 4px 4px 6px 6px rgba(130, 130, 130, 0.2);
}
/* works__bottom */

/* works__bottom pc */
@media screen and (min-width:1024px) {
    .works__bottom {
        margin-top: 100px;
    }

    .works__bottom__largebox {
        margin-top: 50px;
    }

    .works__bottom__box__right {
        display: block;
        margin-top: 100px;
    }

    .works__bottom__subtitle {
        font-size: 3rem;
    }

    .works__bottom__text {
        margin-top: 30px;
        font-size: 1.8rem;
        line-height: 3.6rem;
        letter-spacing: 0.1em;
    }

    .works__bottom__picture {
        margin-top: 50px;
        display: flex;
        justify-content: space-evenly;
        align-items: flex-start;
    }

    .topPC {
        width: 40%;
        height: 100%;
        object-fit: contain;
    }

    .topSp__flex {
        display: block;
        margin-top: 0;
    }
    
    .topSp {
        width: 30%;
        height: auto;
        object-fit: contain;
        vertical-align: top;
    }

    .WorksPC {
        width: 40%;
        height: auto;
        vertical-align: top;
        object-fit: contain;
    }

    .WorksSp__flex {
        display: block;
        margin-top: 0;
    }
    
    .WorksSp {
        width: 40%;
        height: auto;
        vertical-align: top;
        object-fit: contain;
    }

    .WorksSp__flex {
        display: block;
        margin-top: 0;
    }

    .AboutMePC {
        width: 50%;
        height: auto;
        vertical-align: top;
        object-fit: contain;
    }
    
    .AboutmeSp__flex {
        display: block;
        margin-top: 0;
    }
    
    .AboutMeSp {
        width: 50%;
        height: auto;
        vertical-align: top;
        object-fit: contain;
    }
}
/* works__bottom pc 1024px */

/* support */
.support {
    display: flex;
    margin-top: 50px;
    justify-content: space-between;
}

.support__portfolio {
    width: 45%;
    height: auto;
}

.support__portfolio__picture {
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
}

.support__portfolio__title {
    color: #333333;
    font-size: 1.4rem;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    text-align: left;
    margin-top: 10px;
}

.support__portfolio__text {
    color: #333333;
    font-size: 1.2rem;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    text-align: left;
    margin-top: 10px;
}

.support__btnBox {
    margin-top: 50px;
    background-color: #286363;
    color: #FFF;
    font-size: 2rem;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
}

.support__btn {
    display: inline-block;
    width: 100%;
    height: 100%;
    padding: 1rem 0;
}
/* support */

/* support pc */
@media screen and (min-width:1024px) {
    .support {
        margin-top: 100px;
    }

    .support__portfolio {
        width: 35%;
    }

    .support__portfolio__picture {
        transition: 0.6s;
    }

    .support__portfolio__picture:hover {
        scale: 1.05;
    }

    .support__portfolio__title {
        margin-top: 10px;
        font-size: 2rem;
    }

    .support__portfolio__text {
        font-size: 1.5rem;
    }

    .support__btnBox {
        margin-top: 100px;
        font-size: 2rem;
        width: 350px;
        box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
        margin: 100px auto 0;
        transition: 0.6s;
    }

    .support__btn {
        display: inline-block;
        width: 100%;
        height: 100%;
        padding: 2.1rem 0;
    }

    .support__btnBox:hover {
        scale: 1.05;
    }
}
