@charset "UTF-8";

/*============================
column-coontents
============================*/

.clc-cont__filter-box {
    padding: 20px 3% 30px;
    background: #fff;
    box-shadow: 0 0 10px rgba(0, 0, 0, .1);
    border-radius: 20px;

    .filter--item .ttl {
        display: none;
    }
}

.clc-cont__filter--item {
    margin-bottom: 20px;

    &:last-child {
        margin-bottom: 0;
    }

    .ttl {
        white-space: nowrap;
        min-width: 6em;
    }
}

.clc__archives {
    width: 102%;
    margin-left: -1%;

    .colu__atc {
        width: 31.33%;
        margin: 0 1% 30px;
    }

    .colu__tags {
        font-size: 1.4rem;
    }

    .colu__h3 {
        font-size: 1.6rem;
    }

    .colu__txt {
        font-size: 1.5rem;
    }
}


@media screen and (max-width:1024px) {
    .clc-cont__filter-box {
        padding: 20px 3% 30px;
        border-radius: 10px;
    }

    .clc__archives {
        width: 102%;
        margin-left: -1%;

        .colu__atc {
            width: 31.33%;
            margin: 0 1% 30px;
        }

        .colu__tags {
            font-size: 1.2rem;
        }

        .colu__h3 {
            font-size: 1.4rem;
        }

        .colu__txt {
            font-size: 1.2rem;
        }
    }

}

@media screen and (max-width:767px) {
    .clc-cont__filter-box {
        padding: 20px 5%;
        border-radius: 10px;
    }

    .clc__archives {
        width: 100%;
        margin-left: 0;

        .colu__atc {
            width: 100%;
            margin: 0 auto 20px;

            &:last-child {
                margin-bottom: 0;
            }
        }

        .colu__tags {
            font-size: 1.2rem;
        }

        .colu__h3 {
            font-size: 1.4rem;
        }

        .colu__txt {
            font-size: 1.4rem;
        }
    }

}

/* works-detail */
/*============================
 works-detail-top 
============================*/
.column-detail-top {
    padding-bottom: 0;
}

.cdt__h1 {
    white-space: normal;

    .txt {
        white-space: normal;
        line-height: 1.5;
    }
}

.cdt__mv {
    border-radius: 20px;
    overflow: hidden;

    img {
        aspect-ratio: 1200 / 414;
        width: 100%;
        object-fit: cover;
        height: 100%;
        display: block;
    }
}

/* 目次 */

.cdt--pagelinks__box {
    padding: 30px 4%;
    border-radius: 20px;
    border: solid 1px #C0C0C0;
    max-width: 660px;
    margin: 0 auto;
}

.pagelink-ttl {
    display: flex;
    align-items: center;

    & img {
        width: 19px;
        margin-right: 1em;
    }
}

.cdt--pagelinks {
    padding-left: 20px;

    & li {
        margin: .75em;

        & a {
            display: block;
            font-weight: bold;
            font-size: 1.8rem;

        }
    }
}

.cdt__sublink {
    padding-left: 1em;

    & li {
        & a {
            font-size: 1.6rem;
            font-weight: 500;
        }
    }
}

/* toc */
#toc_container {
    width: 98% !important;
    padding: 30px 4% !important;
    border-radius: 20px !important;
    border: solid 1px #C0C0C0 !important;
    max-width: 860px !important;
    margin: 0 auto !important;
    font-size: 100% !important;
}

.toc_title {
    display: flex !important;
    align-items: center !important;
    position: relative;
    font-size: 2rem;

    &::before {
        content: "";
        position: relative;
        width: 19px;
        height: 19px;
        background: url(../img/column/pagelink_ico.png) no-repeat center/contain;
        margin-right: 1em;
    }

}

.toc_list {
    padding-left: 20px !important;

    & li {
        margin: .75em !important;

        & a {
            display: block !important;
            font-weight: bold !important;
            font-size: 1.8rem !important;

        }
    }
}

.cdt__sublink {
    padding-left: 1em;

    & li {
        & a {
            font-size: 1.6rem;
            font-weight: 500;
        }
    }
}

@media screen and (max-width:1024px) {

    .cdt__mv {
        border-radius: 20px;

        img {
            aspect-ratio: 1200 / 414;
        }
    }

    /* 目次 */

    .cdt--pagelinks__box {
        padding: 30px 4%;
        border-radius: 20px;
    }

    .pagelink-ttl {
        & img {
            width: 16px;
            margin-right: 1em;
        }
    }

    .cdt--pagelinks {
        padding-left: 20px;

        & li {
            margin: .75em;

            & a {
                font-size: 1.6rem;

            }
        }
    }

    .cdt__sublink {
        padding-left: 1em;

        & li {
            & a {
                font-size: 1.4rem;
            }
        }
    }

    #toc_container {
        width: 96% !important;
        padding: 30px 4% !important;
        border-radius: 20px !important;
    }


}


@media screen and (max-width:767px) {

    .cdt__mv {
        border-radius: 10px;

        img {
            aspect-ratio: 12 / 6;
        }
    }

    /* 目次 */

    .cdt--pagelinks__box {
        padding: 20px 5%;
        border-radius: 10px;
    }

    .pagelink-ttl {
        & img {
            width: 16px;
            margin-right: 1em;
        }
    }

    .cdt--pagelinks {
        padding-left: 20px;

        & li {
            margin: .75em;

            & a {
                font-size: 1.4rem;

            }
        }
    }

    .cdt__sublink {
        padding-left: 1em;

        & li {
            & a {
                font-size: 1.4rem;
            }
        }
    }

    #toc_container {
        width: 90% !important;
        padding: 30px 5% !important;
        border-radius: 20px !important;
    }
}

/*============================
 cd-contents
============================*/
/* parts */
.cd-contents {
    padding-bottom: 0;

    &:last-child {
        padding-bottom: 120px;
    }

    & h2 {
        background: #EFEFEF;
        font-size: 2.4rem;
        font-weight: bold;
        padding: .5em .5em .5em .75em;
        border-left: solid 5px #001968;
    }

    & h3 {
        font-size: 1.8rem;
        font-weight: bold
    }


}

.box-bl {
    padding: 20px 3%;
    border-radius: 20px;
    background: #EFF0FF;

    & ul li {
        padding: .5em 0;
        position: relative;
        font-size: 1.5rem;
        border-bottom: solid 1px #001968;
        display: flex;
        align-items: flex-start;

        &::before {
            content: "";
            position: relative;
            width: 20px;
            min-width: 20px;
            height: 20px;
            background: url(../img/column/check_ico.png) no-repeat center center/contain;
            margin: .2em .5em 0 0;
        }
    }
}

/* wdt__box */
.wdt__box {
    max-width: 860px;
    margin: 50px auto;
    background: #EFEFEF;
    border-radius: 20px;
    padding: 30px 3%;
}

.wdt__box--left {
    flex: 1 1 auto;
}

.wdt__img {
    width: 115px;
    min-width: 100px;
}

.wdt__txtwrap {
    flex: 1 1 auto;
    padding: 0 3%;
}

.wdt__btn {
    display: block;
    width: 234px;
    min-width: 200px;
}

/* cdc__tbl */

.cdc__tblwrap {
    width: 100%;
    max-width: 860px;
    margin: 50px auto;
}

.cdc__tbl {

    & tr:first-child th {
        font-size: 2rem;
        white-space: nowrap;
    }

    & th {
        font-size: 1.6rem;
    }
}

/* voice */
.cdc__voice {
    margin: 50px auto 100px;
}

.voice__atc {
    padding: 20px 3%;
    border-radius: 20px;
    background-color: #EFF0FF;
    position: relative;
    margin-bottom: 30px;

    &:last-child {
        margin-bottom: 0;
    }

    &::before {
        content: "";
        position: absolute;
        width: 35px;
        height: 20px;
        left: 50%;
        bottom: -19px;
        transform: translate(-50%);
        background-color: #EFF0FF;
        clip-path: polygon(100% 0, 0 0, 50% 100%);
    }
}

.voice__img {
    width: 120px;
    min-width: 120px;
}

.voice__txtwrap {
    padding-left: 2%;
    flex: 1 1 auto;
}

.voice__h3 {
    padding-bottom: 1em;
    border-bottom: solid 1px #001968;
    margin-bottom: .5em;
}


@media screen and (max-width:1024px) {

    /* parts */
    .cd-contents {
        &:last-child {
            padding-bottom: 80px;
        }

        & h2 {
            font-size: 2rem;
            padding: .5em .5em .5em .75em;
            border-left: solid 5px #001968;
        }

        & h3 {
            font-size: 1.6rem;
        }
    }

    .box-bl {
        padding: 20px 4%;
        border-radius: 10px;

        & ul li {
            padding: .5em 0;
            font-size: 1.4rem;

            &::before {
                width: 16px;
                min-width: 16px;
                height: 16px;
                margin: .3em .5em 0 0;
            }
        }
    }

    /* wdt__box */
    .wdt__box {
        border-radius: 10px;
        padding: 20px 3%;
    }

    .wdt__img {
        width: 115px;
        min-width: 80px;
    }

    .wdt__txtwrap {
        flex: 1 1 auto;
        padding: 0 3%;
    }

    .wdt__btn {
        width: 234px;
        min-width: 180px;
    }

    /* cdc__tbl */

    .cdc__tblwrap {
        margin: 0 auto 80px;
    }

    .cdc__tbl {
        & tr:first-child th {
            font-size: 1.6rem;
        }

        & th {
            font-size: 1.4rem;
        }
    }

    /* voice */
    .voice__atc {
        padding: 20px 3%;
        border-radius: 10px;
        margin-bottom: 30px;

        &::before {
            width: 35px;
            height: 20px;
            bottom: -19px;
        }
    }

    .voice__img {
        width: 100px;
        min-width: 100px;
    }

    .voice__txtwrap {
        padding-left: 2%;
    }

    .voice__h3 {
        padding-bottom: 1em;
        margin-bottom: .5em;
    }
}

@media screen and (max-width:767px) {

    /* parts */
    .cd-contents {
        &:last-child {
            padding-bottom: 60px;
        }

        & h2 {
            font-size: 1.6rem;
            padding: .5em .5em .5em .75em;
            border-left: solid 5px #001968;
        }

        & h3 {
            font-size: 1.4rem;
        }


    }

    .box-bl {
        padding: 20px 4%;
        border-radius: 10px;

        & ul li {
            padding: .5em 0;
            font-size: 1.4rem;

            &::before {
                width: 16px;
                min-width: 16px;
                height: 16px;
                margin: .3em .5em 0 0;
            }
        }
    }

    /* wdt__box */
    .wdt__box {
        border-radius: 10px;
        padding: 20px 3%;
    }

    .wdt__box--left {
        display: flex;
    }

    .wdt__img {
        width: 115px;
        min-width: 100px;
        margin: 0;
    }

    .wdt__txtwrap {
        margin-bottom: 20px;
        padding-left: 5%;
    }

    .wdt__btn {
        width: 180px;
        margin: 0 auto;

    }

    /* cdc__tbl */

    .cdc__tblwrap {
        margin: 0 auto 60px;
    }

    .cdc__tbl {
        & tr:first-child th {
            font-size: 1.2rem;
        }

        & th {
            font-size: 1.2rem;
        }
    }

    /* voice */
    .voice__atc {
        padding: 20px 5%;
        border-radius: 10px;
        margin-bottom: 30px;

        &::before {
            width: 35px;
            height: 20px;
            bottom: -19px;
        }
    }

    .voice__img {
        width: 80px;
        min-width: 80px;
        margin: 0 auto 10px;
    }

    .voice__txtwrap {
        padding-left: 0;
    }

    .voice__h3 {
        padding-bottom: 1em;
        margin-bottom: .5em;
    }
}