/* topmessage_sec01********************************************************************** */
.topmessage_sec01 {
    width: 100vw;
    height: calc(56.25vw - 80px);
    position: relative;
}

.topmessage_sec01_inn {
    width: 90vw;
    height: calc(52vw - 80px);
    background-color: #e9eaec;
    margin-left: auto;
    margin-right: 0;
    border-bottom-left-radius: 3vw;
    background-image: url(../img/topmessage/topmessage_main_backimg_pc.png);
    background-size:cover;
    position: relative;
    z-index: 0;
}

.topmessage_top_photo {
    width: 44.4vw;
    position: absolute;
    top: 9.375vw;
    right: 0;
    z-index: -1;
}

.topmessage_sec01_inn .topmessage_top_ink {
    width: 47vw;
    position: absolute;
    top: 80%;
    left: 0;
    transform: translate(-50%, -50%);
    z-index: -2;
}

@media screen and (max-width:768px) {
    .topmessage_sec01 {
        height: auto;
        padding-bottom: 54vw;
    }

    .topmessage_sec01_inn {
        width: 100vw;
        height: calc(200vw - 50px);
        border-bottom-left-radius: 9vw;
    }

    .topmessage_top_photo {
        width: 100vw;
        bottom: 0;
        top: auto;
        z-index:1;
    }
}

.topmessage_top_ttl img {
    margin-bottom: 1.3vw;
}

.topmessage_top_ttl {
    width: 60vw;
    padding-left: 7.1875vw;
    padding-top: 3.7vw;
}

.topmessage_top_ttl p {
    margin-bottom: 1.3vw;
}

@media screen and (max-width:768px) {
    .topmessage_top_ttl {
        width: 90vw;
        padding-top: 8.5vw;
    }
}

.topmessage_top_txt {
    width: 35vw;
    margin-left: 16vw;
    line-height: 2;
    margin-top: 4.5vw;
}

.topmessage_top_txt_message02 {
    margin-top: 1.5vw;
}

.topmessage_top_txt_name {
    text-align: right;
    margin-top: 2vw;
}
@media screen and (max-width:1000px) {
    .topmessage_top_txt {
        width: 36vw;
        margin-top: 3vw;
        line-height: 1.5;
    }
    .topmessage_top_txt_message02 {
        margin-top: 1vw;
    }
}
@media screen and (max-width:768px) {
    .topmessage_top_txt {
        width: 90vw;
        margin-left: auto;
        margin-right: auto;
        margin-top: 9vw;
    }

    .topmessage_top_txt_message02 {
        margin-top: 6vw;
    }

    .topmessage_top_txt_name {
        text-align: left;
        margin-top: 6vw;
    }
}

/* topmessage_sec02********************************************************************** */
.topmessage_sec02 {
    margin-top: 7vw;
}

.topmessage_link_btn_box {
    width: 62.5vw;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    display: grid;
    place-items: center;
    grid-template-columns:31.25vw 31.25vw;
    grid-template-rows: 12vw 12vw;
    background-color: white;
    border: 1px solid #262e40;
    border-radius: 3vw;
}

.topmessage_link_btn a {
    display: flex;
    flex-direction: row;
    align-items: center;
    transition: all 0.3s;
}
.topmessage_link_btn a:hover{
    opacity:0.5;
}

.topmessage_link_btn a .topmessage_link_btn_no {
    font-weight: 300;
}

.topmessage_link_btn a .topmessage_link_btn_txt {
    line-height: 2;
    padding-left: 2.5vw;
}

.topmessage_box_txt .josefin-sans {
    font-weight: 300;
}

.topmessage_link_btn_arrow {
    width: 4.375vw;
    margin-left: auto;
    margin-right: auto;
    margin-top: 2.4vw;
}

@media screen and (max-width:768px) {
    .topmessage_link_btn_box {
        width: 90vw;
        display: flex;
        flex-direction: column;
        place-items: unset;
        border-radius: 13vw;
        padding-top: 6vw;
        padding-bottom: 6vw;
        margin-top: 17vw;
    }

    .topmessage_link_btn {
        margin-top: 6vw;
        margin-bottom: 6vw;
    }

    .topmessage_link_btn a .topmessage_link_btn_no {
        padding-left: 8vw;
    }

    .topmessage_link_btn a .topmessage_link_btn_txt {
        line-height: 1.7;
        padding-left: 8vw;
    }

    .topmessage_link_btn_arrow {
        margin-top: 10vw;
        width: 40px;
    }
}

/* topmessage_box */
.topmessage_box {
    display: flex;
    flex-direction: row;
    max-width: 1920px;
    width: 100vw;
    align-items: center;
    overflow: hidden;
}

.topmessage_box.topmessage_box01,
.topmessage_box.topmessage_box03 {
    padding-left: 18.75vw;
}

.topmessage_box.topmessage_box01 .topmessage_box_img,
.topmessage_box.topmessage_box03 .topmessage_box_img {
    width: 58vw;
    max-width: 1100px;
    transform: translateX(9.375vw);
}

.topmessage_box.topmessage_box02,
.topmessage_box.topmessage_box04 {
    flex-direction: row-reverse;
    padding-right: 18.75vw;
}

.topmessage_box.topmessage_box02 .topmessage_box_img,
.topmessage_box.topmessage_box04 .topmessage_box_img {
    width: 58vw;
    max-width: 1100px;
    transform: translateX(-9.375vw);
}

.topmessage_box .topmessage_box_txt {
    width: 32vw;
    max-width: 630px;
}

.topmessage_box .topmessage_box_txt .topmessage_box_txt_no {
    margin-bottom: 1.25vw;
}

.topmessage_box .topmessage_box_txt .topmessage_box_txt_ttl {
    margin-bottom: 2.4vw;
}

.topmessage_box .topmessage_box_txt .topmessage_box_txt_inn {
    line-height: 2.5;
}

@media screen and (max-width:768px) {
    .topmessage_box {
        flex-direction: column;
        margin-top: 10vw;
    }
    .topmessage_box.topmessage_box01,
    .topmessage_box.topmessage_box03 {
        padding-left: 0;
    }
    .topmessage_box.topmessage_box02,
    .topmessage_box.topmessage_box04 {
        flex-direction: column;
        padding-right: 0;
    }

    .topmessage_box.topmessage_box01 .topmessage_box_img,
    .topmessage_box.topmessage_box03 .topmessage_box_img {
        width: 100vw;
        transform: translateX(0);
    }

    .topmessage_box.topmessage_box02 .topmessage_box_img,
    .topmessage_box.topmessage_box04 .topmessage_box_img {
        width: 100vw;
        transform: translateX(0);
    }
    .topmessage_box .topmessage_box_txt {
        width:90vw;
    }
    .topmessage_box .topmessage_box_txt .topmessage_box_txt_no {
        margin-bottom: 5vw;
    }
    
    .topmessage_box .topmessage_box_txt .topmessage_box_txt_ttl {
        margin-bottom: 8vw;
    }
}

/* topmessage_sec03********************************************************************** */
.topmessage_sec03 {
    /* background-color:yellow; */
    padding-top: 14vw;
    padding-bottom: 7vw;
    position: relative;
    overflow: hidden;
}

.topmessage_sec03 .philosophy_ink01 {
    width:40vw;
    position: absolute;
    right: -9.375vw;
    top: 0;
}

.topmessage_sec03 .philosophy_ink02 {
    width:40vw;
    position: absolute;
    left: -16vw;
    bottom: 0;
}

.topmessage_philosophy_box {
    display: flex;
    flex-direction: row;
    background-color: #dee0e2;
}

.topmessage_philosophy_box .topmessage_philosophy_box_img{
    width:52vw;
    max-width:990px;
}

.topmessage_philosophy_box_txt {
    position: relative;
    padding-top: 8.6vw;
}

.topmessage_philosophy_box_txt .topmessage_philosophy_box_txt_ttl {
    position: absolute;
    right: 0;
    left: 0;
    margin: 0 auto;
    transform: translateY(-50%)
}

.topmessage_philosophy_box_txt .topmessage_philosophy_box_txt_inn {
    width: 36.5vw;
    max-width:700px;
    padding: 7vw;
    background-color: #262e40;
    line-height: 2;
}
@media screen and (max-width:768px) {
    .topmessage_sec03 {
        padding-top: 14vw;
        padding-bottom: 14vw;
    }
    .topmessage_philosophy_box {
        flex-direction:column-reverse;
        padding-top:14vw;
    }
    .topmessage_philosophy_box .topmessage_philosophy_box_img {
        width:100vw;
    }
    .topmessage_philosophy_box_txt .topmessage_philosophy_box_txt_ttl {
        width:90vw;
    }
    .topmessage_philosophy_box_txt .topmessage_philosophy_box_txt_inn {
        width:90vw;
        margin-left:auto;
        margin-right:auto;
        padding-top:14vw;
        padding-bottom:14vw;
    }
}

/* topmessage_sec04********************************************************************** */
.topmessage_sec04 {
    text-align: center;
    position: relative;
    width: 100vw;
    overflow: hidden;
    /* margin-bottom: 7vw; */
    margin-bottom: 14vw;
}

.topmessage_sec04 a {
    display: inline-block;
}

.topmessage_sec04 .topmessage_sec04_inn {
    width: 50vw;
    max-width: 960px;
    height: auto;
    margin-left: auto;
    margin-right: auto;
    padding-top: 5vw;
    padding-bottom: 3.125vw;
    background-color: #262e40;
    border-radius: 2.86vw;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.topmessage_sec04 .topmessage_sec04_inn .recruit_sec_ttl {
    margin-top: 1.5vw;
    margin-bottom: 3vw;
}

.topmessage_sec04 .topmessage_sec04_inn .recruit_sec_txt {
    margin-bottom: 2vw;
    line-height: 2;
}

.topmessage_sec04 a .recruit_sec_inn_btn svg {
    width: 3.65vw;
    height: 3.65vw;
    transition: .3s all;
}

.topmessage_sec04 a:hover .recruit_sec_inn_btn svg .cls-3 {
    fill: #f8d031;
}

.topmessage_sec04 a:hover .recruit_sec_inn_btn svg .cls-3,
.topmessage_sec04 a:hover .recruit_sec_inn_btn svg .cls-4 {
    stroke: #262e40;
}

.topmessage_sec04 a:hover .recruit_sec_inn_btn svg {
    scale: 1.1;
}

@media screen and (max-width:768px) {
    .topmessage_sec04 .topmessage_sec04_inn {
        width: 89vw;
        min-width: 335px;
        border-radius: 5vw;
        padding-top: 12vw;
        padding-bottom: 6.4vw;
    }

    .topmessage_sec04 .topmessage_sec04_inn .recruit_sec_ttl {
        margin-top: 5vw;
        margin-bottom: 10vw;
        ;
    }

    .topmessage_sec04 .topmessage_sec04_inn .recruit_sec_txt {
        margin-bottom: 10vw;
        line-height: 2;
        width:80vw;
    }

    .topmessage_sec04 a .recruit_sec_inn_btn svg {
        width: 16vw;
        height: 16vw;
    }
}

/* topmessage_sec05********************************************************************** */
.topmessage_sec05 {
    text-align: center;
    margin-bottom: 14vw;
}

.topmessage_sec05 a {
    display: inline-block;
}

.topmessage_sec05 .topmessage_sec05_inn {
    width: 50vw;
    max-width: 960px;
    height: auto;
    margin-left: auto;
    margin-right: auto;
    padding-top: 5vw;
    padding-bottom: 3.125vw;
    background-color: white;
    border: 1px solid #262e40;
    border-radius: 2.86vw;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.topmessage_sec05 .topmessage_sec05_inn .recruit_sec_ttl {
    margin-top: 1.5vw;
    margin-bottom: 3vw;
}

.topmessage_sec05 .topmessage_sec05_inn .recruit_sec_txt {
    margin-bottom: 2vw;
    line-height: 2;
    width:80vw;
}

.topmessage_sec05 a .recruit_sec_inn_btn svg {
    width: 3.65vw;
    height: 3.65vw;
    transition: .3s all;
}

.topmessage_sec05 a:hover .recruit_sec_inn_btn svg .cls-2 {
    fill: #be64a4;
}

.topmessage_sec05 a:hover .recruit_sec_inn_btn svg {
    scale: 1.1;
}

@media screen and (max-width:768px) {
    .topmessage_sec05 .topmessage_sec05_inn {
        width: 89vw;
        min-width: 335px;
        border-radius: 5vw;
        padding-top: 12vw;
        padding-bottom: 6.4vw;
    }

    .topmessage_sec05 .topmessage_sec05_inn .recruit_sec_ttl {
        margin-top: 5vw;
        margin-bottom: 10vw;
        ;
    }

    .topmessage_sec05 .topmessage_sec05_inn .recruit_sec_txt {
        margin-bottom: 10vw;
        line-height: 2;
    }

    .topmessage_sec05 a .recruit_sec_inn_btn svg {
        width: 16vw;
        height: 16vw;
    }
}