@charset "utf-8";

#concept {
    .wrap {
        .contents {
            .contents_inner {
                display:grid;
                grid-template-columns:repeat(3,1fr);
                grid-gap:50px 20px;
                margin-bottom:50px;
                .item {
                    h3 {
                        font-size:1.6rem;
                        text-align:center;
                        font-weight:400;
                        margin-bottom:.66em;
                    }
                    img {
                        display:block;
                        margin-bottom:5px;
                    }
                    span {
                        display:block;
                        font-size:1.2rem;
                        text-align:center;
                        line-height:1;
                    }
                    .mainimg {
                        margin-bottom:5px;
                        position:relative;
                        span {
                            position:absolute;
                            right:3px;
                            bottom:3px;
                            background-color:#FFFFFF;
                            padding:.2em 1em;
                        }
                    }
                    ul {
                        display:flex;
                        column-gap:3px;
                        li {
                            flex-grow:1;
                            cursor:pointer;
                            position:relative;
                            &.active {
                                &::before {
                                    content:'';
                                    display:block;
                                    width:calc(100% - 6px);
                                    aspect-ratio:4/3;
                                    border:3px solid #ff0000;
                                    position:absolute;
                                    z-index:1;
                                    left:0;
                                    top:0;
                                }
                            }
                        }
                    }
                    .opt {
                        img {
                            display:block;
                            width:96%;
                            margin:15px auto 0;
                        }
                    }
                }
            }
            .note {
                font-size:1.4rem;
                margin-bottom:1em;
                li {
                    line-height:1.5em;
                    text-indent:-.75em;
                    padding-left:.75em;
                }
            }
            .att {
                font-size:1.4rem;
                li {
                    line-height:1.5em;
                    text-indent:-1.25em;
                    padding-left:1.25em;
                }
            }
        }
    }
}

#creative {
    .wrap {
        .contents {
            .contents_inner {
                display:grid;
                grid-template-columns:1fr 33%;
                grid-column-gap:5%;
                margin-bottom:90px;
                .detail {
                    h2 {
                        text-align:left;
                    }
                }
            }
            .features {
                display:grid;
                grid-template-columns:repeat(2,1fr);
                grid-gap:30px 40px;
                li {
                    border:1px solid #707070;
                    font-size:1.6rem;
                    display:grid;
                    align-content:start;
                    align-items:center;
                    padding:1.5em 1em;
                    min-height:10em;
                    h3 {
                        font-size:2.0rem;
                        font-weight:500;
                        margin-bottom:1em;
                        line-height:1.5;
                        display:grid;
                        grid-template-columns:auto 1fr;
                        grid-column-gap:.5em;
                    }
                    p {
                        line-height:1.66;
                    }
                }
            }
        }
    }
}

#professional {
    .wrap {
        .contents {
            .contents_inner {
                display:grid;
                grid-template-columns:repeat(3,1fr);
                grid-gap:50px 20px;
                .item {
                    h3 {
                        font-size:1.8rem;
                        text-align:center;
                        font-weight:400;
                        padding-top:.75em;
                        line-height:1.5;
                    }
                }
            }
        }
    }
}

@media (hover:hover) {

    #concept {
        .wrap {
            .contents {
                .contents_inner {
                    .item {
                        ul {
                            li {
                                transition:.3s;
                                &:not(.active) {
                                    &:hover {
                                        opacity:.66;
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}

@media screen and (max-width:1200px){

}

@media screen and (max-width:1024px){
}

@media screen and (max-width:768px){
    
    #concept {
        .wrap {
            .contents {
                .contents_inner {
                    grid-template-columns:1fr;
                    grid-gap:40px;
                }
                .note {
                    font-size:1.3rem;
                }
                .att {
                    font-size:1.3rem;
                }
            }
        }
    }
    
    #creative {
        .wrap {
            .contents {
                .contents_inner {
                    grid-template-columns:1fr;
                    margin-bottom:60px;
                    .detail {
                        display:contents;
                        h2 {
                            font-size:1.8rem;
                        }
                        p {
                            order:2;
                        }
                    }
                    img {
                        margin-bottom:1em;
                    }
                }
                .features {
                    grid-template-columns:1fr;
                    grid-gap:20px;
                    li {
                        font-size:1.4rem;
                        padding:1em;
                        min-height:0;
                        h3 {
                            font-size:1.8rem;
                            margin-bottom:.66em;
                        }
                    }
                }
            }
        }
    }
    
    #professional {
        .wrap {
            .contents {
                .contents_inner {
                    grid-template-columns:repeat(2,1fr);
                    grid-gap:30px 15px;
                    .item {
                        h3 {
                            font-size:min(3.6vw,1.6rem);
                        }
                    }
                }
            }
        }
    }
    
}