.eb-garamond {
    font-family: "EB Garamond", serif;
    font-optical-sizing: auto;
    font-weight: 300;
    font-style: normal;
}

.sup-cap {
    font-size: 65%;
}

.container {
    max-width: 1200px;
}

.mv {
    position: relative;
}

.mv img {
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: bottom center;
    object-position: bottom center;
    width: 100%;
    height: 100%;
}

.mv::before {
    position: absolute;
    top: 50.5%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
    margin: auto;
    content: "";
    width: 40rem;
    height: 6rem;
    background: #fff;
    background: -webkit-gradient(linear, left top, right top, from(rgb(255, 255, 255)), color-stop(20%, rgba(74, 74, 74, 0.8)), color-stop(80%, rgba(74, 74, 74, 0.8)), to(rgb(255, 255, 255)));
    background: -webkit-linear-gradient(left, rgb(255, 255, 255) 0%, rgba(74, 74, 74, 0.8) 20%, rgba(74, 74, 74, 0.8) 80%, rgb(255, 255, 255) 100%);
    background: linear-gradient(90deg, rgb(255, 255, 255) 0%, rgba(74, 74, 74, 0.8) 20%, rgba(74, 74, 74, 0.8) 80%, rgb(255, 255, 255) 100%);
    mix-blend-mode: multiply;
    z-index: 0;
}

.mv .copy-box {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
    margin: auto;
}

.copy-box .copy {
    font-size: 4.8rem;
    letter-spacing: .28em;
    line-height: 1.2;
    color: #fff;
}

@media screen and (min-width: 768px) {
    .mv {
        height: 76rem;
    }
}

@media screen and (max-width: 767px) {
    .copy-box .copy {
        font-size: 3.4rem;
    }
}

.sec-works {
    padding: 12rem 0 6rem 0;
    background-color: #000
}

.sec-works p {
    color: #fff
}

.sec-works .intro-wrap .logo-box {
    width: 32rem;
    margin: 0 auto 36px;
}

.sec-works .intro-wrap .logo-box .logo-lead {
    font-size: 1.8rem;
    text-align: center;
    margin-bottom: 4rem;
    letter-spacing: .4rem
}

.sec-works .intro-wrap .copy-box .copy {
    font-size: 1.6rem;
    letter-spacing: .2em;
    line-height: 2.6;
    text-align: center
}

.sec-works .works-box {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    row-gap: 1.6rem;
    margin: 9rem auto 0
}

.sec-works .works-box .work {
    width: 48%;
}

.sec-works .works-box .work figure {
    width: 100%;
    aspect-ratio: 4/3;
    overflow: hidden;
}

.sec-works .works-box .work figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.sec-works .works-box .work .name {
    font-size: 1.6rem;
    margin-top: .5rem
}

@media screen and (max-width: 767px) {
    .sec-works {
        padding: 70px 0 10px;
    }

    .sec-works .intro-wrap .logo-box {
        /* width: 70% */
        text-align: center;
    }

    .sec-works .intro-wrap .logo-box img {
        width: 234px;
    }

    .sec-works .intro-wrap .logo-box .logo-lead {
        font-size: 1.8rem;
    }

    .sec-works .intro-wrap .copy-box .copy {
        font-size: 1.6rem;
    }

    .sec-works .works-box {
        row-gap: 3.6rem;
        margin-top: 40px;
    }

    .sec-works .works-box .work {
        width: 48%;
    }

    .sec-works .works-box .work .name {
        font-size: 1.6rem;
    }
}

@media screen and (max-width: 576px) {
    .sec-works .works-box .work {
        width: 100%;
    }
}

.sec-philosophy {
    padding: 0 0 4rem 0;
}

.tit-anesia-worth {
    text-align: center;
    margin-top: 80px;

}

.tit-anesia-worth .en {
    font-size: 2.0rem;
    letter-spacing: .2em;
    margin-bottom: 20px;
    line-height: 1;
}

.tit-anesia-worth .ja {
    font-size: 4.4rem;
    line-height: 1;
    margin-bottom: 50px;
    /* letter-spacing: .1em; */
}

.img-anesia-worth {
    max-width: 500px;
    margin: 0 auto 30px;
}

.philosophy-grid {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin: 0 auto 80px;
    gap: 50px 20px;
    padding-top: 40px;
}

.philosophy-item {
    width: 48%;
    text-align: center;
    padding: 50px 30px;
    border-left: 1px solid #666;
    border-top: 1px solid #666;
}

.philosophy-title {
    font-size: 1.6rem;
    margin-bottom: 30px;
    font-weight: 500;
    letter-spacing: 0.2em;
    color: #fff;
    line-height: 1;
}

.philosophy-title span {
    font-size: 150%;
}

.philosophy-subtitle {
    font-size: 3.2rem;
    margin-bottom: 30px;
    font-weight: 500;
    letter-spacing: 0.05em;
    color: #fff;
    line-height: 1;
}

.philosophy-text {
    font-size: 1.6rem;
    line-height: 2.5;
    color: #fff;
    letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {
    .sec-philosophy {
        padding: 5rem 0;
    }

    .philosophy-grid {
        row-gap: 2rem;
    }

    .philosophy-item {
        width: 100%;
        margin-bottom: 0;
    }
}


.sec-cntmain {
    background-color: #000;
    padding: 8rem 0 4rem;
}

.sec-cntmain p {
    color: #fff;
}

.sec-cntmain .cntmain-wrap {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: start;
    -webkit-align-items: start;
    -ms-flex-align: start;
    align-items: start;
    margin: 0 auto;
}

.sec-cntmain .cntmain-wrap .txt-box {
    width: 46%;
    margin-top: 10rem;
}

.sec-cntmain .cntmain-wrap .txt-box .txt {
    line-height: 1.9;
}

.sec-cntmain .cntmain-wrap .txt-box .founder-box {
    border-top: 1px solid #fff;
    padding-top: 1.6rem;
    margin-top: 1.6rem;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    align-items: flex-start;
}

.sec-cntmain .cntmain-wrap .txt-box .founder-box .photo {
    width: 26.449275362%;
    margin-top: 10px;
}



.sec-cntmain .cntmain-wrap .txt-box .founder-box .info {
    width: 70%;
}

.sec-cntmain .cntmain-wrap .txt-box .founder-box .name {
    font-size: 2.4rem;
}

.sec-cntmain .cntmain-wrap .txt-box .founder-box .title {
    line-height: 1.5;
}

.sec-cntmain .cntmain-wrap .txt-box .founder-box .desc {
    margin-top: 1.2rem;
}

.sec-cntmain .cntmain-wrap .img-box {
    width: 52%;
    position: relative;
}

.sec-cntmain .cntmain-wrap .img-box .img-lead {
    font-size: 2.1rem;
    position: absolute;
    top: 3%;
    right: 1%;
}

.sec-cntmain .cntmain-wrap .logo {
    width: 57.5%;
    position: absolute;
    top: -6%;
    left: 0;
}

.sec-cntmain .car-wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}

.sec-cntmain .car-wrap .img {
    width: 50vw;
    margin-left: calc(50% - 50vw);
}

.sec-cntmain .car-wrap .lead {
    font-size: 2rem;
    text-align: center;
}

@media screen and (max-width: 1230px) {
    .sec-cntmain .cntmain-wrap .logo {
        top: -16%;
    }
}

@media screen and (min-width: 1200px) {
    .sec-cntmain .cntmain-wrap .txt-box .founder-box .photo img {
        -o-object-fit: cover;
        object-fit: cover;
        -o-object-position: center center;
        object-position: center center;
        width: 100%;
        height: 100%
    }
}

@media screen and (max-width: 767px) {
    .sec-cntmain .cntmain-wrap {
        margin: 0 auto;
    }

    .sec-cntmain {
        padding: 4rem 0 30px;
    }

    .sec-cntmain .cntmain-wrap {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
    }

    .sec-cntmain .cntmain-wrap .txt-box {
        width: 100%;
        margin-top: 0rem;
    }

    .sec-cntmain .cntmain-wrap .txt-box .txt {
        font-size: 1.6rem;
    }

    .sec-cntmain .cntmain-wrap .txt-box .founder-box {
        flex-direction: column;
        justify-content: start;
        gap: 1rem;
        align-items: center;
        padding-top: 4rem;
        margin-top: 4rem;
    }

    .sec-cntmain .cntmain-wrap .txt-box .founder-box .info {
        width: 100%;
    }

    .sec-cntmain .cntmain-wrap .txt-box .founder-box .name {
        font-size: 2rem;
        text-align: center;
    }

    .sec-cntmain .cntmain-wrap .txt-box .founder-box .title {
        text-align: center;
    }

    .sec-cntmain .cntmain-wrap .txt-box .founder-box .desc {
        /* font-size: 1.2rem; */
    }

    .sec-cntmain .cntmain-wrap .img-box {
        width: 100%;
        margin-bottom: 2rem;
    }

    .sec-cntmain .cntmain-wrap .img-box .img-lead {
        font-size: 1.6rem;
        top: 17%;
    }

    .sec-cntmain .cntmain-wrap .logo {
        width: 90%;
        top: -1%;
    }

    .sec-cntmain .car-wrap .img {
        width: 100%;
        margin-left: 0;
        margin-bottom: 2rem;
    }

    .sec-cntmain .car-wrap .lead {
        font-size: 2rem;
        width: 100%;
    }

    .sec-cntmain .cntmain-wrap .txt-box .founder-box .photo {
        margin-top: 0;
        width: unset;
    }
}


.sec-photo {
    background-color: #000;
    padding: 0 0 12rem;
}

.sec-photo p {
    color: #fff;
}

.sec-photo .logo {
    width: 58rem;
    margin: 0 auto 6.6rem;
}

.sec-photo .photo-wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.sec-photo .photo-wrap .l-txt {
    font-size: 2.4rem;
}

.sec-photo .photo-wrap .s-txt {
    line-height: 2;
    margin-top: 3rem;
    -webkit-box-flex: 2;
    -webkit-flex-grow: 2;
    -ms-flex-positive: 2;
    flex-grow: 2;
}

.sec-photo .photo-wrap .img1 {
    width: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    /* flex-wrap: wrap; */
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    /* -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column; */
    justify-content: space-between;
    align-items: center;
}

.sec-photo .photo-wrap .img1 figure {
    width: 52%;
}

.sec-photo .photo-wrap .img1 .txt {
    width: 46%;
}

.sec-photo .photo-wrap .img1 figure,
.sec-photo .photo-wrap .img2 figure {
    margin-top: 1.6rem;
}

.sec-photo .photo-wrap .img3 {
    width: 32%;
}

.sec-photo .photo-wrap .img3 figure:last-of-type {
    margin-top: 1rem;
}

.sec-photo .photo-wrap .img4 {
    width: 60%;
}

.sec-photo .photo-wrap .img4 figure {
    margin-bottom: 3rem;
}

.sec-photo .photo-wrap .img5 {
    margin: 6rem 0 9rem;
}

.sec-photo .photo-wrap .img6 {
    width: 38%;
}

.sec-photo .photo-wrap .img7 {
    width: 57%;
}

.sec-photo .photo-wrap .txt1 {
    width: 100%;
    text-align: right;
    margin: 4.4rem 0 3.5rem;
}

@media screen and (max-width: 767px) {
    .sec-photo {
        padding: 0 0 60px;
    }

    .sec-photo .photo-wrap .l-txt {
        font-size: 2rem;

    }

    .sec-photo .logo {
        width: 290px;
        margin-bottom: 30px;
    }

    .sec-photo .photo-wrap .s-txt {
        font-size: 1.6rem;
        margin-top: 10px;
    }

    .sec-photo .photo-wrap .img1,
    .sec-photo .photo-wrap .img2 {
        width: 100%;
        margin-bottom: 4rem;
        flex-wrap: wrap;
    }

    .sec-photo .photo-wrap .img1 figure {
        width: 100%;
        margin-bottom: 40px;
    }

    .sec-photo .photo-wrap .img1 .txt {
        width: 100%;
    }

    .sec-photo .photo-wrap .img3 {
        width: 100%;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-box-align: end;
        -webkit-align-items: flex-end;
        -ms-flex-align: end;
        align-items: flex-end;
    }

    .sec-photo .photo-wrap .img3 figure:last-of-type {
        margin-top: 0rem;
    }

    .sec-photo .photo-wrap .img3 figure {
        width: 48%;
    }

    .sec-photo .photo-wrap .img4 {
        width: 100%;
        margin: 5rem 0 0;
    }

    .sec-photo .photo-wrap .img6 {
        width: 64%;
        margin-left: 36%;
        margin-bottom: 4rem;
    }

    .sec-photo .photo-wrap .img7 {
        width: 100%;
    }
}


.sec-idea {
    padding: 6rem 0 6rem;
    background-color: #e4e4e2;
    color: #000;
}

.sec-idea .idea-wrap {
    width: 100rem;
    margin: 0 auto
}

.sec-idea .idea-wrap .lead {
    font-size: 1.6rem;
    text-align: center;
    line-height: 2.4;
    margin-bottom: 6rem;
}

.sec-idea .idea-wrap .main-lead {
    font-size: 2.6rem;
    text-align: center
}

.sec-idea .idea-wrap .logo {
    width: 30rem;
    margin: 7rem auto 10rem
}

.sec-idea .idea-wrap .right-area {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    background: #e5e6e3;
    padding: 5rem 4rem;
}

.sec-idea .idea-wrap .right-area .flex-area .ttl-box .lead {
    font-size: 1.8rem;
    letter-spacing: .05em;
}

.sec-idea .idea-wrap .right-area .flex-area .ttl-box .ttl {
    font-size: 2rem;
    letter-spacing: 0;
    margin: 1rem 0 0
}

.sec-idea .idea-wrap .right-area .flex-area .txt-box {
    margin: 1.5rem 0 0
}

.sec-idea .idea-wrap .right-area .flex-area .txt-box .ttl {
    font-size: 2rem;
    margin: 0 0 1rem;
}

.sec-idea .idea-wrap .right-area .flex-area .txt-box .txt {
    /*! font-size: 1.2rem; */
    letter-spacing: 0;
}

.sec-idea .idea-wrap .right-area .flex-area.award {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 36.9565217%;
}

.sec-idea .idea-wrap .right-area .flex-area.award .ttl-box {
    width: 25rem;
}

.sec-idea .idea-wrap .right-area .flex-area.award .img-box {
    width: 7.8rem;
}

.sec-idea .idea-wrap .right-area .flex-area.techno {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    width: 52.1739130%;
}

.sec-idea .idea-wrap .right-area .flex-area.techno .img-box {
    width: 18rem;
}

.sec-idea .idea-wrap .right-area .flex-area.techno .ttl-box {
    width: 27rem
}

.sec-idea .idea-wrap .right-area .flex-area.techno .ttl-box .ttl {
    margin: 0
}

.sec-idea .idea-wrap .right-area .note-area {
    margin: 3rem 0 0
}

.sec-idea .idea-wrap .right-area .note-area .note-box {
    margin: 2rem 0 0
}

.sec-idea .idea-wrap .right-area .note-area .note-box .note {
    letter-spacing: 0;
    font-size: 1.2rem;
}

.sec-idea .idea-wrap .note {
    font-size: 1.2rem;
}

@media screen and (max-width: 1000px) {
    .sec-idea .idea-wrap {
        width: unset;
    }

    .sec-idea .idea-wrap .right-area {
        padding: 4rem 2rem;
    }

    .sec-idea .idea-wrap .right-area .flex-area.award {
        width: 100%;
    }

    .sec-idea .idea-wrap .right-area .flex-area.techno {
        width: 100%;
        margin: 3rem 0 0;
    }

}

@media (min-width: 768px) and (max-width: 1000px) {
    .sec-idea .idea-wrap .right-area .flex-area.award {
        justify-content: center;
    }

    .sec-idea .idea-wrap .right-area .flex-area.award .img-box {
        margin-left: 20px;
    }

    .sec-idea .idea-wrap .right-area .flex-area.techno {
        justify-content: center;
    }

    .sec-idea .idea-wrap .right-area .flex-area.techno .img-box {
        margin-left: 20px;
    }

    .sec-idea .idea-wrap .lead {
        margin-bottom: 0;
    }
}

@media screen and (max-width: 767px) {
    .sec-idea {
        padding: 4rem 0;
    }

    .sec-idea .idea-wrap {
        width: 100%
    }

    .sec-idea .idea-wrap .lead {
        font-size: 1.6rem;
        margin: 0 0 4rem;
    }

    .sec-idea .idea-wrap .main-lead {
        font-size: 2.4rem;
        line-height: 2
    }

    .sec-idea .idea-wrap .logo {
        width: 80%;
        margin: 40px auto;
    }

    .sec-idea .idea-wrap .right-area {
        width: 100%;
        padding: 4rem 0rem;
    }

    .sec-idea .idea-wrap .right-area .flex-area .ttl-box .lead {
        font-size: 1.4rem;
        margin: 0;
    }

    .sec-idea .idea-wrap .right-area .flex-area .ttl-box .ttl {
        font-size: 1.8rem;
        letter-spacing: .14em;
        margin: 2rem 0 0
    }

    .sec-idea .idea-wrap .right-area .flex-area .txt-box {
        margin: 1.6rem 0 0
    }

    .sec-idea .idea-wrap .right-area .flex-area .txt-box .txt {
        font-size: 1.6rem
    }

    .sec-idea .idea-wrap .right-area .flex-area.award {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
        justify-content: space-between;
        width: 100%
    }

    .sec-idea .idea-wrap .right-area .flex-area.award {
        justify-content: center;
    }

    .sec-idea .idea-wrap .right-area .flex-area.award .img-box {
        margin-left: 20px;
    }

    .sec-idea .idea-wrap .right-area .flex-area.award .ttl-box {
        width: 20rem
    }

    .sec-idea .idea-wrap .right-area .flex-area.award .img-box {
        width: 8rem
    }

    .sec-idea .idea-wrap .right-area .flex-area.techno {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -webkit-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row;
        width: 100%;
        margin: 3rem 0 0
    }

    .sec-idea .idea-wrap .right-area .flex-area.techno .img-box {
        width: 20rem;
        margin: 0 auto;
    }

    .sec-idea .idea-wrap .right-area .flex-area.techno .ttl-box {
        width: 100%;
        margin: 2.5rem 0 0
    }

    .sec-idea .idea-wrap .right-area .note-area .note-box {
        margin: 0;
    }

    .tit-anesia-worth .en {
        font-size: 4.2rem;
        letter-spacing: .2em;
        margin-bottom: 20px;
        line-height: 1;
    }

    .tit-anesia-worth .en {
        font-size: 4vw;
        margin-bottom: 10px;
    }

    .tit-anesia-worth .ja {
        font-size: 6.5vw;
        line-height: 1.6;
    }

    .sec-idea .tit-anesia-worth .ja {
        margin-bottom: 20px;
    }

    .sec-idea .tit-anesia-worth {
        margin-top: 40px;
    }
}


.cap {
    position: absolute;
    right: 5px;
    bottom: 5px;
}

.cap.clr-w {
    color: #fff;
}

.cap.txt-shw {
    text-shadow: 1px 1px 3px rgba(0, 0, 0, .5), -1px 1px 3px rgba(0, 0, 0, .5), 1px -1px 3px rgba(0, 0, 0, .5), -1px -1px 3px rgba(0, 0, 0, .5);
}