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

.key:before {
    height: 78.125vw;
}

.sec1 .inner .box > .flex    {
    gap: min(2.6042vw, 50px);
}
.sec1 .inner .infocol   {
    flex: 1;
    border: 1px solid #CCCCCC;
    border-radius: min(1.0417vw, 20px);
}

.sec1 .inner .infocol dl > div {
    gap: min(2.3438vw, 45px);
    padding: min(1.3021vw, 25px) 0;
    padding: min(1.3021vw, 25px) 0;
    line-height: 200%;
}

.sec1 .inner .infocol dl > div:not(:last-of-type)    {
    border-bottom: 2px dashed #CCCCCC;
}

.sec1 .inner .infocol dl > div:first-of-type    {
    padding-top: 0;
}

.sec1 .inner .infocol dl > div:last-of-type    {
    padding-bottom: 0;
}

.sec1 .inner .infocol dl > div dt   {
    width: 18.64%;
}

.sec1 .inner .infocol dl > div dd   {
    flex: 1;
}

.sec1 .inner .imgcol    {
    width: 36.3636%;
}

.sec1 .inner .imgcol h3 {
    border-bottom: 1px solid #F00;
    width: 50%;
}
.sec1 .inner .imgcol img    {
    border-radius: min(0.7813vw, 15px);
}
.sec2 .inner .box .maparea iframe  {
    width: 100%;
    height: min(29.36vw,444px);
    border-radius: min(0.6614vw, 10px);
}

.sec2 .inner .box > .flex    {
    gap: min(2.3438vw, 45px);
}

.sec2 .inner .box > .flex .col   {
    width: 50%;
}

@media screen and (max-width: 834px)    {
    .key:before {
        height: 199vw;
    }
    
    .sec1 .inner .box > .flex   {
        gap: 12.72vw;
    }
    .sec1 .inner .infocol   {
        border: 0;
        padding: 0;
    }
    
    .sec1 .inner .infocol dl > div  {
        padding: 3.73vw 0;
    }

    .sec1 .inner .infocol dl > div dt   {
        width: 34.16%;
    }
    
    .sec1 .inner .imgcol h3 {
        width: 62.11%;
    }
    
    .sec1 .inner .imgcol img    {
        border-radius: 3.05vw;
    }
    
    .sec2 .inner .box > .flex   {
        gap: 12.72vw;
    }
    
    .sec2 .inner .box .maparea iframe   {
        height: 46vw;
        border-radius: 2.04vw;
    }
}