@charset "utf-8";

/* ===== about.css ===== */
/* -- contents_img -- */
.contents_img {
    position: fixed;
    top: 0;
    height: 100vh;
}
.contents_img img {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: translate(-50%,-50%);
}

/* -- bgImg -- */
.bgImg01 {
    position: relative;
}
.bgImg01:after {
    position: absolute;
    top: 11vw;
    bottom: -90px;
    right: 0;
    left: 0;
    margin: auto;
    background: #F5F5F5;
    content: "";
    z-index: -10;
}
@media screen and ( max-width: 768px ) {
    .contents_img_bg:after {
        top: auto;
        bottom: 15vw;
        height: 200px;
    }
}


/* -- aboutBox01 -- */
.aboutBox01 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    flex-direction: row-reverse;
    margin: 225px auto 0;
    max-width: 980px;
}
.aboutBox01_tit {
    margin-right: 5.2%;
    width: 80px;
}
.aboutBox01_boxL {
    margin-top: 39px;
    width: calc(87.9% - 80px);
}
.aboutBox01_boxL_txt {
    font-weight: 500;
    font-size: 20px;
    line-height: 2.8;
    letter-spacing: 0.03em;
    margin-bottom: 45px;
}
@media screen and ( max-width: 768px ) {
    .aboutBox01 {
        margin: 0 auto 0;
    }
    .aboutBox01_tit {
        width: 40px;
    }
    .aboutBox01_boxL {
        margin-top: 0;
        width: calc(87.9% - 60px);
    }
    .aboutBox01_boxL_txt {
        font-size: 16px;
        line-height: 2.5;
        margin-bottom: 25px;
    }
}

/* -- aboutBox02 -- */
.aboutBox02 {
    position: relative;
    margin-top: 70px;
    padding-top: 188px;
}
.aboutBox02_txtBox_txtBox {
    font-weight: 500;
    font-size: 16px;
    line-height: 2.37;
    letter-spacing: 0.02em;
    margin-left: 101px;
    max-width: 510px;
}
.aboutBox02_img {
    position: absolute;
    top: 0;
    left: 40.4%;
    padding-top: 87px;
    width: calc(100vw - 58%);
    z-index: -10;
}
@media screen and ( max-width: 768px ) {
    .aboutBox02 {
        margin-top: 80px;
        padding-top: 30px;
    }
    .aboutBox02_txtBox_txtBox {
        font-size: 14px;
        line-height: 2;
        letter-spacing: 0.02em;
        margin-left: 15px;
    }
    .aboutBox02_img {
        position: relative;
        top: -40px;
        padding-top: 3%;
        width: calc(100vw - 44%);
        opacity: 0.6;
    }
}

/* -- aboutBox03 -- */
.aboutBox03 {
    margin: 200px auto 0;
    max-width: 980px;
}
.aboutBox03_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: -65px auto 0;
    margin-left: 21px;
    max-width: 932px;
}
.aboutBox03_list > * {
    width: 30.1%;
}
.aboutBox03_list > :nth-child(2n) {
    margin-top: 10.7%;
}
.aboutBox03_list > :nth-child(3n) {
    margin-top: 21.5%;
}
.aboutBox03_list_num {
    font-family: 'League Spartan', sans-serif;
    font-weight: 100;
    font-size: 60px;
    line-height: 1;
    color: #3C3C3C;
    margin-left: -33px;
    padding-left: 29px;
    background: url(../img/about/txtCase.png) no-repeat 0 -4px;
    background-size: 45px auto;
}
.aboutBox03_list_tag {
    font-family: 'Shippori Mincho', serif;
    font-size: 30px;
    line-height: 1.53;
    letter-spacing: -3px;
    margin: -7px 0 0 0;
}
.aboutBox03_list_tag span {
    display: inline-block;
    background: linear-gradient( transparent 56%, #FFFF2B 56%, #FFFF2B 80%, transparent 80% );
}
.aboutBox03_list_img {
    margin: 18px 0 24px;
}
.aboutBox03_list_txt {
    font-weight: 500;
    font-size: 16px;
    line-height: 1.625;
    letter-spacing: 0.8px;
}
@media screen and ( max-width: 768px ) {
    .aboutBox03 {
        margin: 20px auto 0;
    }
    .aboutBox03_list {
        margin: 0 auto 0;
        margin-left: 0;
    }
    .aboutBox03_list > *,
    .aboutBox03_list > :nth-child(2n),
    .aboutBox03_list > :nth-child(3n) {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        margin-top: 0;
        width: 100%;
    }
    .aboutBox03_list > *:not(:last-child) {
        margin-bottom: 40px;
    }
    .aboutBox03_list_num {
        font-size: 60px;
        margin-left: 0;
    }
    .aboutBox03_list_tag {
        font-size: 25px;
        margin: 0 0 0 30px;
    }
    .aboutBox03_list_img {
        text-align: center;
        margin: 20px 0 20px;
        width: 100%
    }
    .aboutBox03_list_img img {
        max-width: 250px;
    }
    .aboutBox03_list_txt {
        font-size: 14px;
    }
}


/* -- aboutBox04 -- */
.aboutBox04 {
    margin-top: 194px;
}
.aboutBox04_inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.aboutBox04_inner .tit {
    margin-bottom: 25px;
}
.aboutBox04_inner_txtBox {
    font-weight: 500;
    font-size: 16px;
    letter-spacing: 0.4px;
    line-height: 2.375;
    letter-spacing: 0.03em;
    width: 37%;
}
.aboutBox04_list {
    margin-top: 77px;
    width: 59.3%;
}
.aboutBox04_list > * {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 58px 0 34px;
    border-top: 1px solid #C4C4C4;
}
.aboutBox04_list_num {
    font-family: 'League Spartan', sans-serif;
    font-weight: 100;
    font-size: 74px;
    line-height: 1;
    color: #3C3C3C;
    margin-top: 9px;
    padding-left: 35px;
    width: 100px;
    background: url(../img/about/txtCase.png) no-repeat 1px 7px;
    background-size: 42px auto;
}
.aboutBox04_list_txtBox {
    font-size: 16px;
    line-height: 2;
    text-align: left;
    letter-spacing: 0.03em;
    margin-right: 4%;
    width: calc(61% - 100px);
}
.aboutBox04_list_txtBox_tit {
    font-weight: 500;
    font-size: 24px;
    line-height: 2;
    letter-spacing: 0.03em;
    margin-bottom: 10px;
}
.aboutBox04_list_img {
    width: calc(43% - 100px);
}
@media screen and ( max-width: 900px ) {
    .aboutBox04_inner_txtBox {
        width: 100%;
    }
    .aboutBox04_list {
        width: 100%;
    }
    .aboutBox04_list > * {
        justify-content: flex-start;
    }
    .aboutBox04_list_txtBox {
        margin-right: 0;
    }
}
@media screen and ( max-width: 768px ) {
    .aboutBox04 {
        margin-top: 80px;
    }
    .aboutBox04_inner .tit {
        margin-bottom: 5px;
    }
    .aboutBox04_inner_txtBox {
        font-size: 14px;
        line-height: 2;
    }
    .aboutBox04_inner .btn {
        margin-top: 25px;
    }
    .aboutBox04_list {
        margin-top: 40px;
    }
    .aboutBox04_list > * {
        padding: 40px 0 25px;
    }
    .aboutBox04_list_num {
        font-size: 60px;
        margin-top: 0;
        padding-left: 35px;
        width: 100%;
    }
    .aboutBox04_list_txtBox {
        font-size: 14px;
        margin: 0 0 0 5%;
        width: 95%;
    }
    .aboutBox04_list_txtBox_tit {
        font-size: 20px;
        line-height: 1.8;
        margin: 10px 0 4px;
    }
    .aboutBox04_list_img {
        margin: 0 auto;
        width: 50%;
    }
}


/* -- aboutBox05 -- */
.aboutBox05 {
    margin-top: 164px;
    padding-bottom: 158px;
}
.aboutBox05_list {
    margin: 82px auto 0;
    max-width: 880px;
}
.aboutBox05_list > * {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.aboutBox05_list > *:not(:last-child) {
    margin-bottom: 109px;
}
.aboutBox05_list_num {
    font-family: 'League Spartan', sans-serif;
    font-weight: 100;
    font-size: 74px;
    line-height: 1;
    color: #3C3C3C;
    position: relative;
    padding: 12px 0 0 57px;
    width: 100px;
    background: url(../img/about/txtStep.png) no-repeat 22px 21px;
    background-size: 51px auto;
}
.aboutBox05_list_num:after {
    position: absolute;
    top: -17px;
    left: 0;
    width: 162px;
    height: 112px;
    background: url(../img/about/txtStep_bg.png) no-repeat 0 0;
    background-size: 100% auto;
    content: "";
    z-index: -10;
}
.aboutBox05_list_txtBox {
    font-size: 16px;
    line-height: 2;
    text-align: left;
    letter-spacing: 0.03em;
    margin: 22px 5.5% 0 0;
    width: calc(53% - 100px);
}
.aboutBox05_list_txtBox_tit {
    font-weight: 500;
    font-size: 24px;
    line-height: 2;
    letter-spacing: 0.03em;
    margin-bottom: 10px;
}
.aboutBox05_list_txtBox_time {
    text-align: center;
    font-weight: 500;
    font-size: 14px;
    line-height: 30px;
    letter-spacing: 0.14px;
    display: inline-block;
    margin-top: 16px;
    padding: 0 16px;
    height: 30px;
    background: #FFF;
    border: 1px solid #EEE;
    border-radius: 52px;
}
.aboutBox05_list_img {
    width: calc(45.5% - 100px);
}
@media screen and ( max-width: 768px ) {
    .aboutBox05 {
        margin-top: 50px;
        padding-bottom: 30px;
    }
    .aboutBox05_list {
        margin: 35px auto 0;
    }
    .aboutBox05_list > *:not(:last-child) {
        margin-bottom: 60px;
    }
    .aboutBox05_list_num {
        font-size: 60px;
        padding: 12px 0 0 57px;
        width: 100%;
    }
    .aboutBox05_list_num:after {
        top: -3px;
        width: 110px;
    }
    .aboutBox05_list_txtBox {
        font-size: 14px;
        margin: 0 0 0 5%;
        width: 95%;
    }
    .aboutBox05_list_txtBox_tit {
        font-size: 20px;
        margin-bottom: 0;
    }
    .aboutBox05_list_txtBox_time {
        font-size: 12px;
        line-height: 26px;
        margin-top: 10px;
        height: 26px;
    }
    .aboutBox05_list_img {
        margin: 30px auto 0;
        width: 80%;
    }
}


/* youtubeサムネイル設定 */
.youtube {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
}
.youtube iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.youtube span {
    position: absolute;
    top: 0;
    left: 0;
    cursor: pointer;
    z-index: 20;
}
@media screen and ( min-width: 769px ) {
    .youtube span {
        cursor: pointer;
        background: #fff;
    }
    .youtube span img {
        transition: opacity 0.6s;
    }
    .youtube span:hover img {
        opacity: 0.6;
    }
}