*
{
    color : var(--color-black);
}
h2 
{
    font-size : 36px;
    font-weight : normal;
    margin : 75px auto 20px;
}
h2 img
{
    width : 155px;
}
rt
{
    color : var(--color-green);
    font-size : 14px;
}
.h3_title
{
    border-top : 1px solid var(--color-green);
    background-size : 100%;
    width : 100%;
    height : 250px;
    position : relative;
    z-index : 1;
    margin-top : 100px;
}
#SAFE
{
    background-image : url(../img/house_image_safe.jpg);
    background-position: 50%;
}
#VIBRATION
{
    background-image : url(../img/house_image_vibration.jpg);
    background-position: 0% 20%;
}
#TRUST
{
    background-image : url(../img/house_image_trust.jpg);
    background-position: 0% 80%;
}
.h3_title img
{
    width : 74px;
    margin : 45px auto 10px;
}
.h3_title h3
{
    font-size : 36px;
    font-weight: normal;
    margin : 0px;
}
h4
{
    color : var(--color-green);
    font-size : 24px;
    margin : 75px auto;
}
.content_grid
{
    margin : 20px auto;
    display : grid;
    /*grid-template-columns: auto 1fr;*/
    grid-template-columns: 300px 1fr;
    gap : 50px;
}
.content_grid.image_wide
{
    grid-template-columns: 400px 1fr;

}
picture#SECURITY_LOGO
{
    margin: 0px;
    display: inline;
}
picture#SECURITY_LOGO img
{
    width: 400px;
    margin-bottom: -19px;
    margin-left: 20px;
}

.content_grid.security
{
    grid-template-columns: 350px auto;
}
.content_grid.security picture
{
    order: 2;
}
.content_grid.security div
{
    order: 1;
}
.security + div
{
    border: 1px var(--color-beige) solid;
    display: grid;
    grid-template-columns: 100px auto;
    padding: 30px;
    gap: 30px;
    align-items: center;
    box-sizing: border-box;
}
.security + div span
{
    color: #0071B2;
    display: block;
}
.content_grid img, .security + div img
{
    display : block;
    width: 100%;
}
.security + div img
{
    border-radius: 8px;
}
dl
{
    margin : 50px 0px 30px;
}
dt
{
    background-color: var(--color-light_gray);
    color : var(--color-green);
    font-weight: bold;
    padding : 10px 15px;
    margin : 20px 0px;
    display: inline;
    font-size : 18px;
}
dd
{
    margin : 30px 15px;
    font-size : 18px;
}
dd > ul
{
    margin-left : -15px;
}
dd > span
{
    display : block;
    font-size : 12px;
    margin-top : 10px;
}
picture
{
    margin : 10px auto;
    display : block;
    width: fit-content;
}
p
{
    font-size : 18px;
}
#MIRAIE > p
{
    width : 80%;
    margin : 20px auto;
}
#MIRAIE > img:nth-of-type(1)
{
    width : 400px;
}
#MIRAIE > p > img
{
    width : 56px;
}
#MIRAIE > img:nth-of-type(2)
{
    width : 700px;
}
[alt="ZEH住宅"]
{
    width: 80%;
    margin-top: -50px;
    margin-bottom: -30px;
}

/* モバイル用スタイル */
@media (max-width: 768px) 
{
    h2 
    {
        font-size : 22px;
        font-weight : normal;
        margin : 40px auto 20px;
    }
    h2 img {
        width: 100px;
    }
    .content_grid, .content_grid.image_wide, .content_grid.security
    {
        grid-template-columns: 1fr;
        place-content: center;
        place-items: center;
        gap : 5px;
    }
    .content_grid > div
    {
        margin : 0px auto;
        width : 90%;
    }
    .content_grid.security picture
    {
        order: 1;
    }
    .content_grid.security div
    {
        order: 2;
    }
    .security + div
    {
        grid-template-columns: 1fr;
    }
    .content_grid.security + div img
    {
        height: 80px;
        width: auto;
        margin: auto;
    }
    picture#SECURITY_LOGO img
    {
        width: unset;
        height: 80px;
        display: block;
        margin: 10px auto auto auto;
    }
    #MIRAIE > img:nth-of-type(2)
    {
        width: 90%;
    }
    dt
    {
        display : block;
    }
}
@media (max-width: 500px) 
{
    #MIRAIE > img:nth-of-type(1),
    .content_grid picture img
    {
        width : 90%;
        margin : 0px auto;
    }
    #MIRAIE > p
    {
        text-align: left;
    }
    .cta {
        margin-top: 50px;
    }
    h4{
        margin : 30px auto 50px auto;
    }
}
