@charset "utf-8";

header .header_gnavi .nav_in .nav_about .about__nav.quality {
    border-bottom: 2px solid #fff;
}

/*--------------------------------
    災害対策
---------------------------------*/
section#inner {
    font-family: 'Kozuka Mincho Pro R', '小塚明朝 Pro R', serif;
    letter-spacing: 0.075em;
}
main.safety {
    width: 100%;
    max-height: 330px;
    height: 40vw;
    background: url(../img/safety/main.jpg) center no-repeat;
    background-size: cover;
    display: block;
}
main.safety .main_inner {
    margin: 0 auto;
    text-align: center;
    padding: 100px 0;
}
main.safety .main_inner h2 {
    font-family: 'Times New Roman', serif;
    color: #fff;
    font-size: 40px;
    letter-spacing: 0.05em;
    font-weight: 400;
    text-shadow: 0 0 10px #31251b;
}
main.safety .main_inner .txt {
    color: #fff;
    font-size: 16px;
    text-shadow: 0 0 10px #31251b;
}
@media screen and (max-width: 991px) {
    main.safety {
        height: 60vw;
    }
    main.safety .main_inner {
        padding: 100px 0 ;
    }    
}
@media screen and (max-width: 768px) {
    main.safety {
        height: 50vw;
        max-height: 472px;
    }
    main.safety .main_inner .txt {
        text-align: center;
    }
}
@media screen and (max-width: 650px) {
    main.safety {
        background: url(../img/safety/main_sp.jpg) center no-repeat;
        background-size: cover;    
        height: 50vw;
    }
    main.safety .main_inner {
        padding: 11% 0;
    }    
    main.safety .main_inner h2 {
        font-size: 2.5em;
    }
    main.safety .main_inner .txt {
        font-size: 1.3em;
    }
}
@media screen and (max-width: 438px) {
    main.safety {
        height: 63vw;
    }
    main.safety .main_inner {
        padding: 15% 0;
    }    
}

section.lead {
    padding: 110px 0;
}
.lead h3 {
    font-size: 30px;
    font-weight: 400;
    letter-spacing: 0.2em;
    text-align: left;
    /* margin-bottom: 30px; */
}
.lead li {
    text-align: center;
}
.lead li img {
    width: 90%;
}
/* .lead .txt {
    color: #000;
    font-size: 16px;
    text-align: left;
} */
@media screen and (max-width: 768px) {
    section.lead {
        padding: 15% 0;
    }    
    .lead h3 {
        text-align: center;
        margin-top: 30px;
    }
    .lead li img {
        width: 55%;
    }    
    .lead .txt {
        margin: 0 auto;
    }
}
@media screen and (max-width: 520px) {
    .lead h3 {
        font-size: 3em;
    }
    /* .lead .txt {
        font-size: 1.5em;
    } */
}


/* .safety_inner .contents_ttl .ttl_jp {
    color: #000;
    line-height: 2;
} */
.contents_ttl h4 span {
    position: relative;
}
.contents_ttl h4 span::before {
    content: '・';
    display: block;
    width: 23px;
    height: 5px;
    position: absolute;
    top: -1.5rem;
    left: 50%;
    transform: translateX(-50%);
}
.safety_inner ul {
    align-items: flex-start;
}
.safety_inner li {
    margin-bottom: 60px;
}
/* .safety_inner figure {
    position: relative;
}
.safety_inner figure figcaption {
    position: absolute;
    bottom: 5px;
    right: 5px;
    font-size: 12px;
}
.safety_inner figure figcaption.cap_wh {
    color: #fff;
} */
.safety_inner .txtBox h5 {
    font-size: 18px;
    font-weight: 600;
    line-height: 1.5;
    margin: 12px auto 6px;
}
.safety_inner .txtBox .txt {
    font-size: 14px;
    line-height: 1.6;
    margin: 0 auto;
}
/* .safety_inner .txtBox .txt small {
    display: block;
    margin-top: 5px;
} */
@media screen and (max-width: 768px) {
    .safety_inner li {
        margin-bottom: 40px;
    }  
    .safety_inner li.w-32 {
        width: 48%;
    }  
}
@media screen and (max-width: 520px) {
    .safety_inner .txtBox h5 {
        font-size: 1.5em;
        margin: 8px auto 6px;
    }
    .safety_inner .txtBox .txt {
        font-size: 1.3em;
    }
    figure figcaption {
        font-size: 0.6em;
    }
}

.sec03 ul {
    width: 68%;
    margin: 0 auto;
}
.sec03 li.sec03_li {
    width: 48%;
}
.sec03 .manual li {
    justify-content: center;
    margin: 0 auto 40px;
}
.sec03 .manual li figure {
    margin-right: 20px;
}
@media screen and (max-width: 991px) {
    .sec03 ul {
        width: 80%;
    }
}
@media screen and (max-width: 768px) {
    .sec03 ul {
        width: 100%;
    }
    .sec03 .manual li {
        width: 70%;
        flex-direction: column;
    }    
    .sec03 .manual li figure {
        width: 48%;
        text-align: center;
        margin: 0 auto;
    }  
    .sec03 .manual li .txtBox {
        text-align: center;
    }
}
@media screen and (max-width: 520px) {
}

/* .safety_cap .cap {
    font-size: 12px;
    line-height: 1.6;
    margin: 40px auto 110px;
    text-align: left;
}
@media screen and (max-width: 768px) {
    .safety_cap .cap {
        margin: 40px auto 15%;
    }    
} */