ul {
    list-style: none;
}

body {
    .pc {
        display: block;
    }
    .sp {
        display: none;
    }
    #article_item {
        .overview {
            margin-bottom: 10rem;
            .kv {
                margin-bottom: 2rem;
            }
            .sns {
                margin-bottom: 8.5rem;
                span {
                    p {
                        color: #392D7A;
                        margin-top: 0;
                        display: inline-block;
                    }
                }
            }
            .summary {
                position: relative;
                span {
                    font-size: 1.6rem;
                    font-weight: bold;
                    margin: 0 auto;
                    width: 84%;
                    display: block;
                    position: relative;
                    &::before {
                        content: "";
                        position: absolute;
                        width: 11rem;
                        height: 1px;
                        top: -0.5rem;
                        background-color: #B41E1E;
                        left: -8rem;
                        transform: rotate(-42deg);
                    }
                    &::after {
                        content: "";
                        position: absolute;
                        width: 11rem;
                        height: 1px;
                        bottom: -0.5rem;
                        background-color: #B41E1E;
                        transform: rotate(-42deg);
                        right: -7rem;
                    }
                }
            }
            &.n_top {
                margin-bottom: 6rem;
                .sns {
                    margin-bottom: 6rem;
                }
            }
        }

        .main_text {
            .text_block {
                margin-bottom: 1rem;
                h2 {
                    position: relative;
                    font-size: 2.4rem;
                    line-height: 1.8;
                    padding-left: 2.4rem;
                    margin-bottom: 3.6rem;
                    &::before {
                        content: "";
                        position: absolute;
                        width: 3px;
                        height: 2.6rem;
                        background-color: #B41E1E;
                        top: 1rem;
                        left: 0.5rem;
                        transform: rotate(13deg);
                    }
                }
                h3 {
                    font-size: 1.8rem;
                    margin-bottom: 4rem;
                    font-weight: bold;
                    line-height: 1.5;
                    margin-top: 1.5rem;
                    &::after {
                        content: "";
                        display: block;
                        width: 100%;
                        height: 1px;
                        background-color: #B41E1E;
                        margin-top: 0.8rem;
                    }
                }
                span {
                    margin-bottom: 3.4rem;
                    display: inline-block;
                    font-size: 1.6rem;
                    line-height: 1.8;
                    a {
                        
                    }
                    img {
                        display: inline-block;
                        width: 100%;
                        height: auto;
                    }
                    .emp {
                        font-weight: bold;
                        margin: 0;
                        padding: 0;
                    }
                    &.back_gray {
                        background: #F0F0F3;
                        padding: 1.8rem 2.2rem;
                    }
                    &.source {
                        width: 100%;
                        text-align: right;
                        margin-bottom: 3rem;
                        transform: translateY(-2rem);
                        font-size: 1.3rem;
                        a {
                            text-decoration: underline;
                            display: block;
                            &:hover {
                                opacity: 0.7;
                            }
                        }
                        &.last {
                            margin-bottom: 0.5rem;
                        }
                    }
                    &.margin_short {
                        margin-bottom: 2rem;
                    }
                }
                .two_column {
                    display: inline-block;
                    width: 100%;
                    margin-bottom: 4rem;
                    .col_left {
                        width: 49%;
                        display: inline-block;
                    }
                    .col_right {
                        width: 49%;
                        float: right;
                    }
                }
            }
        }
        .pager {
            margin-top: 2.5rem;
            .pages_button {
                border: double 4px #B41E1E;
                text-align: center;
                transition: opacity 0.05s ease-out;
                margin-bottom: 6rem;
                a {
                    padding: 2rem;
                    display: inline-block;
                    width: 100%;
                    .arrow_txt {
                        width: auto;
                        display: inline-block;
                        color: black;
                        font-size: 1.6rem;
                        font-weight: bold;
                        margin-bottom: 1.5rem;
                        position: relative;
                    }
                    .page_title {
                        display: inline-block;
                        width: 100%;
                        color: black;
                    }
                    
                }
                &:hover {
                    opacity: 0.65;
                }
                &.right {
                    a {
                        .arrow_txt {
                            
                            &::after {
                                content: "";
                                display: inline-block;
                                width: 1rem;
                                height: 1rem;
                                border-top: 3px solid #B41E1E;
                                border-right: 3px solid #B41E1E;
                                transform: rotate(45deg);
                                margin-left: 1rem;
                                position: absolute;
                                top: 1rem;
                            }
                        }
                    }
                }
                &.left {
                    a {
                        .arrow_txt {
                            &::after {
                                content: "";
                                display: inline-block;
                                width: 1rem;
                                height: 1rem;
                                border-top: 3px solid #B41E1E;
                                border-right: 3px solid #B41E1E;
                                position: absolute;
                                transform: rotate(-135deg);
                                margin-left: -9rem;
                                top: 1rem;
                            }
                        }
                    }
                }
            }
            .pages_count {
                text-align: center;
                position: relative;
                margin-bottom: 5rem;
                .count_buttons {
                    display: inline-block;
                    padding: 0;
                    li {
                        width: 3.6rem;
                        height: 3.6rem;
                        border: solid 1px #B41E1E;
                        background: white;
                        float: left;
                        margin-left: 1rem;
                        a {
                            display: inline-block;
                            width: 100%;
                            height: 100%;
                            span {
                                font-size: 1.4rem;
                                font-weight: bold;
                                display: inline-block;
                                margin-top: 0.45rem;
                                color:#B41E1E;
                            }
                        }
                        &.current {
                            background: #B41E1E;
                            a {
                                span {
                                    color: white;
                                }
                            }
                        }
                        &:first-child {
                            margin-left: 0;
                        }
                    }
                }
                .arrow {
                    display: inline-block;
                    width: 1rem;
                    height: 1rem;
                    border-top: 3px solid #B41E1E;
                    border-right: 3px solid #B41E1E;
                    transform: rotate(45deg);
                    margin-left: 2rem;
                    position: absolute;
                    top: 1.4rem;
                    &.left {
                        margin-left: -3.5rem;
                        transform: rotate(224deg);
                    }
                }
                &.left {
                    .right {
                        pointer-events: none;
                        opacity: 0;
                    }
                    .left {
                        pointer-events: visible;
                        opacity: 1;
                    }
                }
                &.right {
                    .right {
                        pointer-events: visible;
                        opacity: 1;
                    }
                    .left {
                        pointer-events: none;
                        opacity: 0;
                    }
                }
            }
        }
        .profile {
            border: 1px solid #7C7699;
            padding: 2.2rem 4rem;
            padding-bottom: 5rem;
            margin-bottom: 7rem;
            .prf_ttl {
                font-size: 2.2rem;
                color: #7C7699;
                width: 100%;
                display: inline-block;
                position: relative;
                padding-left: 4rem;
                font-weight: bold;
                margin-bottom: 2.4rem;
                float: left;
                &::before {
                    content: "";
                    position: absolute;
                    height: 0.8px;
                    background-color: #7C7699;
                    width: 4%;
                    left: 0;
                    top: 2rem;
                }
                &::after {
                    content: "";
                    position: absolute;
                    height: 0.8px;
                    background-color: #7C7699;
                    width: 71%;
                    right: 0;
                    top: 2rem;
                }
            }
            .iconf {
                width: 24.5%;
                float: left;
            }
            .prf_name {
                width: 75.5%;
                float: left;
                font-size: 2.2rem;
                margin-top: 0.3em;
                font-weight: bold;
                padding-left: 5rem;
                margin-bottom: 1.5rem;
                padding-bottom: 0;
            }
            .details {
                width: 75.5%;
                font-size: 1.5rem;
                padding-left: 5rem;
                display: inline-block;
                margin-top: 0;
            }
        }
        .works {
            position: relative;
            margin-bottom: 28rem;
            .w_title {
                display: inline-block;
                width: 100%;
                background-color: #7C7699;
                color: white;
                font-weight: bold;
                font-size: 1.6rem;
                line-height: 1.5;
                padding: 1rem 3rem;
                    padding-left: 3rem;
                padding-left: 26.5rem;
                p {
                    margin-top: 0.3rem;
                    font-size: 1.3rem;
                    font-weight: normal;
                }
            }
            .w_items {
                display: inline-block;
                position: absolute;
                left: 0;
                top: -3rem;
                .w_img {
                    display: inline-block;
                    width: 19rem;
                    margin-left: 3rem;
                    float: left;
                }
                .w_links {
                    width: 49.8rem;
                    float: left;
                    margin-top: 17.5rem;
                    li {
                        display: inline-block;
                        width: 20rem;
                        margin-right: 1.2rem;
                        a {
                            img {

                            }
                        }
                    }
                }
            }
        }
    }
    #article_related {
        h2 {

        }
        .related_items {
            padding-left: 0;
            li {
                transition: opacity 0.1s ease-out;
                margin-bottom: 2.6rem;
                a {
                    display: inline-block;
                    position: relative;
                    .thumb {
                        width: 26%;
                        float: left;
                        position: relative;
                        &::after {
                            content: "";
                            position: absolute;
                            width: 1px;
                            height: 100%;
                            background-color: #B41E1E;
                            right: -1.5rem;
                            top: 0;
                        }
                    }
                    .txts {
                        width: 73%;
                        padding: 1.2rem 3rem;
                        padding-right: 3rem;
                        padding-bottom: 1.5rem;
                        padding-right: 0;
                        padding-bottom: 0;
                        color: black;
                        display: inline-block;
                        height: 100%;
                        position: absolute;
                        span {
                            float: left;
                            margin-top: 0rem;
                        }
                        p {
                            float: right;
                            position: absolute;
                            bottom: 0.7rem;
                            right: 0;
                            margin-top: 0;
                            font-size: 1.2rem;
                        }
                    }
                }
                &:hover {
                    opacity: 0.75;
                }
                &:last-child {
                    margin-bottom: 0;
                }
            }
        }
    }
}

@media screen and (max-width: 768px) {
    body {
        .pc {
            display: none;
        }
        .sp {
            display: block;
        }
        #main {
            header {
            height: auto;
                .main-title {
                    height: auto;
                }
            }
        }
        #article_item {
            .overview {
                margin-bottom: 8rem;
                .kv {
                    margin-bottom: 2rem;
                }
                .sns {
                    margin-bottom: 8rem;
                    span {
                        p {
                            margin-top: 0;
                        }
                    }
                }
                .summary {
                    position: relative;
                    span {
                        font-size: 1.6rem;
                        margin: 0 auto;
                        width: 84%;
                        &::before {
                            width: 8rem;
                            height: 1px;
                            top: -1.5rem;
                            left: -5rem;
                            transform: rotate(-42deg);
                        }
                        &::after {
                            width: 8rem;
                            height: 1px;
                            bottom: -0.5rem;
                            transform: rotate(-42deg);
                            right: -5rem;
                        }
                    }
                }
            }

            .main_text {
                .text_block {
                    h2 {
                        font-size: 2.4rem;
                        line-height: 1.8;
                        padding-left: 2.4rem;
                        margin-bottom: 3rem;
                        &::before {
                            width: 3px;
                            height: 2.6rem;
                            top: 1rem;
                            left: 0.5rem;
                            transform: rotate(13deg);
                        }
                    }
                    h3 {
                        font-size: 1.7rem;
                        margin-bottom: 3.5rem;
                        margin-top: 2rem;
                    }
                    span {
                        margin-bottom: 2.8rem;
                        font-size: 1.6rem;
                        line-height: 1.8;
                        a {
                            
                        }
                        &.back_gray {
                            padding: 1.8rem 2.2rem;
                        }
                        &.source {
                            font-size: 1.2rem;
                            width: 100%;
                            margin-bottom: 3rem;
                            &.last {
                                margin-bottom: 0.5rem;
                            }
                        }
                        &.margin_short {
                            margin-bottom: 2rem;
                        }
                    }
                    .two_column {
                        display: inline-block;
                        width: 100%;
                        .col_left {
                            width: 100%;
                            display: inline-block;
                        }
                        .col_right {
                            width: 100%;
                            float: right;
                        }
                    }
                }
            }
            .pager {
                .pages_button {
                    transition: opacity 0.05s ease-out;
                    margin-bottom: 6rem;
                    a {
                        padding: 2rem;
                        width: 100%;
                        
                        .arrow_txt {
                            width: auto;
                            font-size: 1.6rem;
                            margin-bottom: 1.5rem;
                            &::after {
                                width: 1rem;
                                height: 1rem;
                                transform: rotate(45deg);
                                margin-left: 1rem;
                            }
                        }
                        .page_title {
                            width: 100%;
                        }
                        
                    }
                    &.prev {

                    }
                    &:hover {
                        opacity: 0.65;
                    }
                }
                .pages_count {
                    text-align: center;
                    position: relative;
                    margin-bottom: 5rem;
                    .count_buttons {
                        display: inline-block;
                        padding: 0;
                        li {
                            width: 3.6rem;
                            height: 3.6rem;
                            border: solid 1px #B41E1E;
                            background: white;
                            float: left;
                            margin-left: 1rem;
                            a {
                                display: inline-block;
                                width: 100%;
                                height: 100%;
                                span {
                                    font-size: 1.4rem;
                                    font-weight: bold;
                                    display: inline-block;
                                    margin-top: 0.45rem;
                                    color:#B41E1E;
                                }
                            }
                            &.current {
                                a {
                                    span {
                                        
                                    }
                                }
                            }
                            &:first-child {
                                margin-left: 0;
                            }
                        }
                    }
                    .arrow {
                        display: inline-block;
                        width: 1rem;
                        height: 1rem;
                        transform: rotate(45deg);
                        margin-left: 2rem;
                        position: absolute;
                        top: 1.4rem;
                        &.left {

                        }
                    }
                }
            }
            .profile {
                border: 1px solid #7C7699;
                padding: 2.2rem 3rem;
                padding-bottom: 5rem;
                margin-bottom: 7rem;
                text-align: center;
                .prf_ttl {
                    font-size: 2.2rem;
                    width: 100%;
                    display: inline-block;
                    position: relative;
                    font-weight: bold;
                    margin-bottom: 2.4rem;
                    float: left;
                    padding-left: 0;
                    text-align: center;
                    &::before {
                        width: 22%;
                        left: 0;
                        top: 2rem;
                    }
                    &::after {
                        width: 22%;
                        right: 0;
                        top: 2rem;
                    }
                }
                .iconf {
                    float: none;
                    margin: 0 auto;
                    width: 17rem;
                    display: inline-block;
                    margin-bottom: 1rem;
                }
                .prf_name {
                    font-size: 2.2rem;
                    margin-top: 0.3em;
                    font-weight: bold;
                    padding-bottom: 0;
                    float: none;
                    padding-left: 0;
                    width: 100%;
                    text-align: left;
                    margin-bottom: 1rem;
                }
                .details {
                    font-size: 1.5rem;
                    display: inline-block;
                    margin-top: 0;
                    padding-left: 0;
                    width: 100%;
                    text-align: left;
                }
            }
            .works {
                position: relative;
                margin-bottom: 8rem;
                .w_title {
                    display: inline-block;
                    width: 100%;
                    background-color: #7C7699;
                    color: white;
                    font-weight: bold;
                    font-size: 1.6rem;
                    line-height: 1.5;
                    padding: 1rem 3rem;
                    padding-left: 2rem;
                    padding-right: 2rem;
                     margin-bottom: 3rem;
                    p {
                        margin-top: 0.3rem;
                        font-size: 1.3rem;
                        font-weight: normal;
                    }
                }
                .w_items {
                    display: inline-block;
                    left: 0;
                    position: relative;
                    top: 0;
                    width: 100%;
                    text-align: center;
                    .w_img {
                        display: inline-block;
                        float: none;
                        margin-left: 0;
                        margin-bottom: 4rem;
                        width: 58%;
                    }
                    .w_links {
                        width: 100%;
                        float: none;
                        display: inline-block;
                        margin-top: 0;
                        padding-left: 0;
                        li {
                            display: inline-block;
                            width: 48%;
                            margin-right: 3%;
                            a {
                                img {

                                }
                            }
                            &:last-child {
                                margin-right: 0;
                            }
                        }
                    }
                }
            }
        }
        #article_related {
            h2 {

            }
            .related_items {
                padding-left: 0;
                li {
                    transition: opacity 0.1s ease-out;
                    margin-bottom: 2rem;
                    a {
                        display: inline-block;
                        position: relative;
                        .thumb {
                            width: 34%;
                            float: left;
                            position: relative;
                            &::after {
                                content: "";
                                position: absolute;
                                width: 1px;
                                height: 100%;
                                background-color: #B41E1E;
                                right: -1.5rem;
                                top: 0;
                            }
                        }
                        .txts {
                            padding: 1.5rem 3rem;
                            padding-right: 3rem;
                            padding-bottom: 1.5rem;
                            padding-right: 0;
                            padding-bottom: 0;
                            color: black;
                            width: 66%;
                            padding-top: 0;
                            display: inline-block;
                            height: 100%;
                            position: absolute;
                            span {
                                float: left;
                                font-size: 1.2rem;
                                line-height: 1.4;
                                margin-top: 1rem;
                                width: 100%;
                                overflow: hidden;
                                height: 3.4rem;
                                text-overflow: ellipsis;
                                -webkit-text-overflow: ellipsis;
                                white-space: nowrap;
                            }
                            p {
                                float: right;
                                 font-size: 1rem;
                                 margin-top: 0rem;
                                 line-height: 1.4;
                                 position: absolute;
                                bottom: 0.8rem;
                            }
                        }
                    }
                    &:hover {
                        opacity: 0.75;
                    }
                    &:last-child {
                        margin-bottom: 0;
                    }
                }
            }
        }
    }

}