/* solutions homepage.

   developer:   rmiske
   requires:    /common/framework/css/framework.ja.css
   ========================================================================== */

/* ==========================================================================
   setup the environment
   ========================================================================== */
:root {
    --wrapper-h-pad: 2rem;
    --main-red: #dc1100;
}

main {
    color: var(--grey-53);
    font-family: 'Hiragino Kaku Gothic ProN', 'Meiryo', Arial, sans-serif;
    line-break: strict;
}
main img, main video { height: auto; max-width: 100%; }


/*section*/
section, main header, main footer {
    padding: 0 var(--wrapper-h-pad);
    width: 100%;
}
div[id$="-content"] {
    margin: 0 auto;
    max-width: 68.4375rem; /*1095*/
    width: 100%;
}


/*text*/
main h2 {
    border-top: 1px solid #b7b7b7;
    color: #dc1100;
    font-size: 1.6rem;
    font-weight: 300;
    margin: 1.625rem 0 1rem;
    padding-top: 2rem;
}
main h3 {
    color: #565656;
    font-size: 1.2rem;
}
main p {
    color:#000;
    font-size:1rem;
    font-weight:300;
    padding: 0 0 1.25rem;
}

main a{ color: #222; }
main a:hover{ color: #dc1100; }



/* ==========================================================================
   content
   ========================================================================== */
/*header*/
header#solutions { background: #e5e5e5; }
#solutions-content {
    display: grid;
    max-width: 78.125rem; /*1250px*/
}
#solutions h1 {
    color: #dc1100;
    font-size: 3rem;
    font-weight: 600;    
    margin: 0; 
    padding: 5.48rem 0 1.875rem 0;
    text-align: center;
}




/*industry, education*/
.solution-grid {
    display: grid;
    grid-gap: 0.5rem 1.25rem;
    grid-template-columns: 3.75rem 1fr;
    padding-bottom: 2.25rem;
}
.solution-grid img { grid-row: 1 / span 2; }
.solution-grid h3 { grid-column: 2;}
.solution-grid ul { 
    column-count: 3;
    column-gap: 1.25rem;
    grid-row: 2; 
    padding-right: 1rem; 
}
.solution-grid li { break-inside: avoid; }

.solution-grid li a { font-size: 0.9rem; }

main ul { 
   color: #dc1100; 
   margin-left: 0.125rem; 
   padding-top: 0.5rem;
}
main li {
    display: list-item;
    list-style: square;
    margin-left: 1rem;
    padding-bottom: 0.625rem;
}

#industry h2 { border-top: none; }


/*related*/
#related-tech-trends { 
    background: #dc1100; 
    padding-bottom: 3rem;
}
#related-tech-trends h2 {
    color: #fff;
    text-align: center;   
}
#related-tech-trends a { color: #fff; }
#related-tech-trends a:hover { color: #000; }

#related-tech-trends .tech-grid {
    display: grid;
    grid-gap: 1.5rem;
    grid-template-columns: 1fr 1fr;
    justify-items: center;
}
.tech-grid a { width: 17rem; }
.tech-grid .mini-m .img { font-size: 0; width: 30px; }
.tech-grid .mini-m .txt {
    font-size: 0.9375rem;
    font-weight: 600;    
    line-height: 1.2;
    padding-left: 0.625rem;
}



/* ==========================================================================
   responsive breakpoint styles
   ========================================================================== */
@media (max-width: 1200px) {
    #solutions img { 
        margin: 0 calc(var(--wrapper-h-pad) * -1); 
        max-width: calc(100% + (var(--wrapper-h-pad) * 2) )
    }
}


@media (max-width: 900px) {
    /*setup*/
    :root {
        --wrapper-h-pad: 3.2rem; /*~45px*/
    }


    /*content*/
    #solutions h1 { font-size: 3.5rem; padding-top: 4rem; }
    .solution-grid ul { column-count: 2; }
}


@media (max-width: 600px) {
    /*setup*/
    :root {
        --wrapper-h-pad: 1rem; /*line up with global menu*/
    }
    main h2 { margin-top: 1rem; }

    /*content*/
    #solutions h1 { font-size: 3rem; padding: 2rem 0 1.5rem; }
    .solution-grid { grid-template-columns: 45px 1fr; }
    .solution-grid ul { column-count: 1; }
    #related-tech-trends .tech-grid { grid-template-columns: 1fr; }
}


@media (max-width: 320px) {}


@media print {}