@charset "utf-8";

#management {
    .wrap {
        padding-bottom:0;
    }
    .wrap2 {
        background:url(../img/quality/bg01.jpg) no-repeat center center/cover;
        padding:0;
        .contents {
            padding:90px 0 min(20vw,240px);
            position:relative;
            .contents_inner {
                background-color:rgba(0,0,0,.5);
                padding:30px 60px;
                p {
                    color:#FFFFFF;
                    font-size:2.0rem;
                    font-weight:500;
                    &:not(:last-child) {
                        margin-bottom:1em;
                    }
                }
            }
            ul {
                position:absolute;
                left:0;
                bottom:0;
                width:100%;
                display:grid;
                grid-template-columns:repeat(3,1fr);
                grid-column-gap:1%;
                align-items:center;
                transform:translateY(50%);
                li {
                    display:grid;
                    width:100%;
                    aspect-ratio:1;
                    border-radius:50%;
                    background-color:var(--color_main);
                    justify-content:center;
                    align-items:center;
                    &:nth-child(even) {
                        background-color:#deebf7;
                        dl {
                            dt,dd {
                                color:var(--color_main);
                            }
                        }
                    }
                    dl {
                        text-align:center;
                        font-size:min(2.2vw,2.4rem);
                        dt {
                            color:#FFFFFF;
                            text-decoration:underline;
                            margin:1em 0;
                            line-height:1.5;
                        }
                        dd {
                            font-weight:600;
                            color:#FFFFFF;
                            line-height:1.5;
                            min-height:3em;
                            display:grid;
                            align-items:center;
                            &.img {
                                img {
                                    display:block;
                                    width:40%;
                                    margin:0 auto;
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}

body {
    &.page-quality-en {
        #management {
                .wrap {
                    .contents {      
                        ul {
                            li {
                                &:nth-child(even) {
                                    background-color:#deebf7;
                                    dl {
                                        dt,dd {
                                            color:var(--color_main);
                                        }
                                    }
                                }
                                dl {
                                    font-size:min(2.0vw,2.2rem);
                                }
                            }
                        }
                }
            }
        }
    }
}

#control {
    .wrap {
        padding-top:min(24vw,240px);
        overflow:clip;
        .contents {
            h2 {
                & + p {
                    margin-bottom:2em;
                    & + .contents_inner {
                        &::before {
                            content:'';
                            display:block;
                            width:100vw;
                            height:100%;
                            background-color:#EFEFEF;
                            position:absolute;
                            left:50%;
                            top:0;
                            transform:translateX(-50%);
                            z-index:-1;
                        }
                    }
                }
            }
            h3 {
                position:relative;
                font-size:3rem;
                text-align:center;
                font-style:italic;
                color:#FFFFFF;
                line-height:1.5;
                padding:.15em;
                &::before,&::after {
                    content:'';
                    display:block;
                    width:100vw;
                    height:100%;
                    position:absolute;
                    top:0;
                    z-index:-1;
                    background: #FF0000;
                    transition:.75s;
                }
                &::before {
                    left:calc(50% - 25px);
                    clip-path:polygon(20px 0,100% 0,100% 100%,0 100%);
                }
                &::after {
                    right:calc(50% - 25px);
                    clip-path:polygon(0 0,100% 0,calc(100% - 20px) 100%,0 100%);
                }
                & + .contents_inner {
                    &::before {
                        content:'';
                        display:block;
                        width:100vw;
                        height:100%;
                        background-color:#EFEFEF;
                        position:absolute;
                        left:50%;
                        top:0;
                        transform:translateX(-50%);
                        z-index:-1;
                    }
                }
            }
            .contents_inner {
                position:relative;
                padding:50px 0;
                display:grid;
                grid-template-columns:200px 1fr 25%;
                grid-column-gap:3%;
                .tit {
                    h4 {
                        display:grid;
                        font-size:2.8rem;
                        grid-row-gap:.2em;
                        margin-bottom:.66em;
                        span {
                            &.font_en {
                                font-size:1.6rem;
                                color:var(--color_main);
                                font-style:italic;
                            }
                            &:last-child {
                                background-color:var(--color_main);
                                color:#FFFFFF;
                                height:1.8em;
                                display:grid;
                                justify-content:center;
                                align-items:center;
                                border-radius:6px;
                            }
                        }
                    }
                    ul {
                        li {
                            font-size:1.6rem;
                            line-height:1.5;
                            text-indent:-3em;
                            padding-left:3em;
                            &::before {
                                content:'ー';
                                margin:0 1em;
                            }
                        }
                    }
                }
                .detail {
                    h5 {
                        font-size:1.8rem;
                        line-height:1.5;
                        margin-bottom:.33em;
                    }
                    p {
                        line-height:1.6;
                        &:not(:last-child) {
                            margin-bottom:1em;
                        }
                    }
                    ul {
                        display:flex;
                        flex-wrap:wrap;
                        gap:.5em;
                        font-size:1.5rem;
                        padding-top:1em;
                        li {
                            background-color:#deebf7;
                            line-height:2;
                            padding:0 1em;
                            border-radius:3px;
                        }
                    }
                }
                .img {
                    img {
                        display:block;
                        width:100%;
                        aspect-ratio:1;
                        object-fit:cover;
                        border-radius:50%;
                    }
                }
            }
        }
    }
}

body {
    &.page-quality-en {
        #control {
                .wrap {
                    .contents {                
                    .contents_inner {
                        .tit {
                            h4 {
                                span {
                                    &:last-child {
                                        background-color:var(--color_main);
                                        color:#FFFFFF;
                                        min-height:1.8em;
                                        height:auto;
                                        padding:.33em;
                                        display:grid;
                                        justify-content:center;
                                        align-items:center;
                                        border-radius:6px;
                                        font-size:2.2rem;
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}

#control {
    .wrap {
        .contents {
            .wide {
                &.animation {
                    opacity:1;
                    &::before {
                        left:100vw;
                    }
                    &::after {
                        right:100vw;
                    }
                    span {
                        opacity:0;
                        transition-delay:.75s;
                        transition-duration:.5s;
                    }
                    &.show {
                        &::before {
                            left:calc(50% - 25px);
                        }
                        &::after {
                            right:calc(50% - 25px);
                        }
                        span {
                            opacity:1;
                        }
                    }
                }
            }
        }
    }
}

@media (hover:hover) {
}

@media screen and (max-width:1200px){
}

@media screen and (max-width:1024px){ 
}

@media screen and (max-width:768px){
    
    #management {
        .wrap2 {
            .contents {
                padding:50px 0 min(28vw,120px);
                position:relative;
                .contents_inner {
                    background-color:rgba(0,0,0,.5);
                    padding:20px 30px;
                    p {
                        font-size:1.5rem;
                    }
                }
                ul {
                    grid-template-columns:repeat(2,1fr);
                    max-width:400px;
                    left:50%;
                    transform:translate(-50%,75%);
                    li {
                        &:nth-child(even) {
                            grid-area:2/1/3/2;
                            transform:translate(50% ,-12%);
                        }
                        dl {
                            font-size:min(4vw,1.8rem);
                            dt {
                                margin:2em 0 .5em;
                            }
                            dd {
                                &.img {
                                    img {
                                        width:33%;
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }

    body {
        &.page-quality-en {
            #management {
                    .wrap {
                        .contents {      
                            ul {
                                li {
                                    dl {
                                        font-size:min(3.2vw,1.5rem);
                                    }
                                }
                            }
                    }
                }
            }
        }
    }
    
    #control {
        .wrap {
            padding-top:min(70vw,320px);
            .contents {
                h3 {
                    font-size:2.4rem;
                }
                .contents_inner {
                    padding:30px 0;
                    grid-template-columns:120px 1fr;
                    grid-template-rows:auto 1fr;
                    align-content:start;
                    align-items:start;
                    grid-column-gap:5%;
                    grid-row-gap:30px;
                    .tit {
                        h4 {
                            font-size:1.8rem;
                            span {
                                &.font_en {
                                    font-size:1.4rem;
                                }
                            }
                        }
                        ul {
                            li {
                                font-size:1.3rem;
                                text-indent:-2em;
                                padding-left:2em;
                                &::before {
                                    content:'ー';
                                    margin:0 .66em 0 .33em;
                                }
                            }
                        }
                    }
                    .detail {
                        grid-area:1/2/3/3;
                        h5 {
                            font-size:1.6rem;
                            line-height:1.5;
                            margin-bottom:.33em;
                        }
                        p {
                            line-height:1.6;
                            &:not(:last-child) {
                                margin-bottom:1em;
                            }
                        }
                        ul {
                            font-size:1.2rem;
                        }
                    }
                }
            }
        }
    }

    body {
        &.page-quality-en {
            #control {
                    .wrap {
                        .contents {                
                        .contents_inner {
                            .tit {
                                h4 {
                                    span {
                                        &:last-child {
                                            font-size:1.5rem;
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    
}