body.sub    {
    background-position: center top 78.125vw;
}

.key:before {
    height: 78.125vw;
}

.sub .key .keytext  {
    position: absolute;
    top: 30.46vw;
}

.sec1 .inner .box .imgarea  {
    width: 100%;
    height: auto;
    aspect-ratio: 2/1;
    border-radius: min(1.1905vw, 18px);
    overflow: clip;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    overflow: hidden;
}
.sec1 .inner .box .imgarea img    {
    height: 100%;
    object-fit: cover;
    width: 100%;
    max-width: none;
}
.sec1 .inner .box .imgarea img {

    width: 100%;
    height: auto;
}
.sec1 .inner .box .infoarea {
    position: relative;
}

.sec1 .inner .box .infoarea .message_paragraph  {
    width: 75%;
}

.sec1 .inner .box .ceo.flex {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 100%;
    justify-content: flex-end;
    align-items: flex-end;
	flex-wrap:wrap;
}

.sec1 .inner .box .ceo.flex p   {
    text-align: right;
}
.sec1 .inner .box .ceo.flex .ceoimg {
    width: 16.75%;
}
.sec1 .inner .box .ceo.flex p img.logo { width:18vh; margin-bottom:5px; }

@media screen and (max-width: 834px)    {
    body.sub    {
        background-position: center top 199vw;
    }
    .key:before {
        height: 199vw;
    }
    
    .sub .key .keytext  {
        top: 77.61vw;
        left: 12.5vw;
        width: 75vw;
    }
    .sec1 .inner .box .imgarea  {
        width: 100%;
        aspect-ratio: 4/3;
        border-radius: 2.54vw;
        overflow: clip;
        display: flex;
        justify-content: flex-end;
        align-items: center;
    }
    .sec1 .inner .box .imgarea img    {
        height: 100%;
        width: auto !important;
        max-width: none;
    }
    
    .sec1 .inner .box .infoarea .message_paragraph  {
        width: 100%;
    }
    
    .sec1 .inner .box .ceo.flex {
        position: static;
    }
    
    .sec1 .inner .box .ceo.flex .ceoimg {
        width: 33.54%;
    }
	.sec1 .inner .box .ceo.flex p img.logo { width:22vh; margin-bottom:5px; }
}