/*============================
BREADCRUMBS
============================*/
.breadcrumbs {
    background: #c37e81!important;
    padding: 10px 20px;

    @media(max-width:767px) {
        padding: 5px 20px;
    }

    .breadcrumbs-wrap {
        max-width: 1100px;
        margin: 0 auto;
    }

    a,
    p,span {
        color: #fff!important;
        margin-right:4px;
        text-decoration: none;
        @media(max-width:767px) {
            display: inline;
        }
    }

    .seperator {
        padding: 0 5px;
    }
}

p.txtTitle {
    margin: 0px;
    padding: 0px;
    color: #c37e81;
    font-weight: 700;
    font-size: 16px !important;
}

/*============================
ARTICLES
============================*/
main.article-cont {
    width: 1100px;
    margin: 0 auto;
    padding:48px 0px;

    @media(max-width:1130px) {
        width: auto;
        margin:0px 20px;
        padding:32px 0px;
    }

    .article-section-intro {
        width: 100%;
        /* height: 400px; */
        position: relative;
        overflow: hidden;
        margin-bottom: 20px;
        /* @media(max-width:767px) {
            height:250px;
        } */

        /* @include mobile {
            height: 345px;
        } */

        div.as-intro-ttl {
            z-index: 0;
            width: 100%;
            max-width: max-content;
            padding: 1em;
            background: rgba(222, 244, 244, 80%);
            transform: translateY(-50%);
            position: absolute;
            top: 65%;
            left: 0;

            span {
                font-size: 2.75rem;
                /* font-family: text-font('HGP');
                color: $text-color-dark3;

                @include mobile {
                    font-size: 1.75em;
                } */
            }
        }

        img.as-intro-bg {
            z-index: -1;
            width: 100%;
            height: auto;
            object-fit: cover;
            /* @media(max-width:767px) {
                height:250px;
            } */
        }
    }


    h1 {
        font-size: 26px;
        line-height: 1.4em;
        border-bottom: 2px dashed #c37e81;
        padding-bottom: .2em;
        margin-bottom: 12px;
        font-weight: 700;

        @media(max-width:767px) {
            font-size: 24px;
        }

        &.txtHide {
            display:none;
        }
    }

    h2 {
        font-size: 24px;
        line-height: 1.4em;
        margin: 32px 0px;
        border-left: 6px solid #c37e81;
        padding-left: 10px;
        font-weight: 700;
        @media(max-width:767px) {
            font-size: 22px;
        }
    }

    p {
        font-size: 18px;
        line-height: 1.5em;
        @media(max-width:767px) {
            font-size: 14px;
            line-height:28px;
        }

        & + h1 {
            margin-top:32px;
        }

        & + table {
            margin-top:32px;
        }
    }

    .highlight {
        background: linear-gradient(transparent 50%, rgba(237, 134, 0, .15) 50%);
        font-weight:700;
        @media(max-width:767px) {
            display: inline;
        }
    }

    .highlight--yellow {
        background: linear-gradient(transparent 50%, rgba(255, 252, 107, .69) 50%);
    }

    .highlight--blue {
        background: linear-gradient(transparent 50%, rgba(107, 182, 255, .24) 50%);
    }

    .highlight--green {
        background: linear-gradient(transparent 50%, rgba(151, 232, 154, .69) 50%);
    }

    h3 {
        font-size: 20px;
        line-height: 1.4em;
        border-bottom: 2px solid #c37e81;
        padding-bottom: .2em;
        margin: 32px 0px;
        font-weight: 700;
        @media(max-width:767px) {
            font-size: 20px;
        }
    }

    h4 {
        font-size: 20px;
        display: flex;
        gap: .5em;
        align-items: center;
        margin-top: 25px;
        margin-bottom: 10px;
        font-weight: 700;

        &::before {
            content: '';
            width: 100%;
            max-width: 1.4em;
            height: 1.4em;
            display: inline-block;
            background: #f4eded;
            border-radius: 50%;
        }
    }

    /* List */
    ul {
        display: flex;
        flex-direction: column;
        margin:32px 0px;

        li {
            font-size: 1.125rem;
            color: #333;
            line-height: 1.5em;
            display: list-item;
            list-style: disc;
            list-style-position: inside;
            position: relative;
            @media(max-width:767px) {
                font-size: 14px;
                line-height:28px;
            }

            li:has(strong.list-ttl) {
                display: inline-block;
                list-style: none;
            }

            &.checked {
                display: flex;
                gap: 6px;
                align-items: center;

                &::before {
                    content: '';
                    width: 100%;
                    max-width: 1em;
                    height: 1em;
                    background: url(../../assets/images/ranking-rec-check.svg) no-repeat;
                    background-position: center;
                    background-size: contain;
                }
            }
        }

        li:has(+ *) {
            margin-bottom: 10px;
        }
    }


    .list-box1 {
        width: 100%;
        background: #fff;
        border: 2px solid #c37e81;
        border-radius: 10px;
        position: relative;

        .list-box1__ttl {
            display: inline-block;
            font-size: 1rem;
            font-weight: 700;
            line-height: 1.4em;
            color: #fff;
            padding: 0.5em 2em;
            background: #c37e81;
            border-radius: 22px;
            position: absolute;
            left: 20px;
            top: -20px;
        }

        ul {
            display: flex;
            flex-direction: column;
            padding: 1.944em 1.944em 0.889em;
            margin:0px 0px;
            @media(max-width:767px) {
                padding: 20px 15px;
            }

            li {
                font-size: 1.125em;
                color: #333;
                line-height: 1.5em;
                padding: 0.31em 0;
                display: flex;
                align-items: center;
                gap: 3px;
                @media(max-width:767px) {
                    font-size: 14px;
                    line-height:28px;
                    padding-bottom: 0px;
                    margin-bottom: 0px;
                }

                &:first-child {
                    padding-top: 0;
                }

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

                &::before {
                    content: '';
                    width: 100%;
                    max-width: 1em;
                    height: 1em;
                    background: url(../../assets/images/ranking-rec-check.svg) no-repeat;
                    background-position: center;
                    background-size: contain;
                }
            }
        }

        &:has(+ *) {
            margin-top: 1.5rem;
            margin-bottom: 2rem;
        }
    }


    /* Read Box */
    .read-box-sm {
        width: 100%;
        padding: 20px;
        background: #fff;
        border: 1px solid #c37e81;
        position: relative;
        margin-top: 2rem;
        margin-bottom: 2rem;

        /* Title */
        .read-box-sm__ttl {
            width: auto;
            font-size: 16px;
            line-height: 1em;
            color: #333;
            padding: 0.5em 1em;
            background: #fff;
            user-select: text;
            display: flex;
            justify-content: space-between;
            align-items: center;
            position: absolute;
            left: 20px;
            top: -17px;
            display: inline;
            padding-left: 34px;
            font-weight:500;
            @media(max-width:767px) {
                width: auto;
                font-size: 15px;
                line-height: 24px;
                padding-left: 28px;
                top: -20px;

                /* position: relative;
                top: 0px;
                background: #ffff;
                display: block;
                left: 0px;
                margin-bottom: 12px */
            }


            &::before {
                content: '';
                width: 100%;
                max-width: 1em;
                height: 1em;
                background: url(../../assets/images/ranking-rec-check.svg) no-repeat;
                background-position: center;
                background-size: contain;
                position: absolute;
                left: 8px;
                @media(max-width:767px) {
                    top: 11px;
                }
            }
        }

        /* Content */
        .read-box-sm-item {
            display: grid;
            gap: 1rem;
            grid-template-columns: 185px 1fr;
            margin-bottom: 1rem;
            @media(max-width:767px) {
                grid-template-columns: 1fr;
            }
 
            &:last-child {
                margin-bottom: 0;
            }

            .read-box-sm-item__img {
                img {
                    width: 100%;
                    height: 100px;
                    object-fit: cover;
                    @media(max-width:767px) {
                        height:auto;
                    }
                }
            }

            .read-box-sm-item__desc {
                span.ttl {
                    font-size: 1.125rem;
                    font-weight: 500;
                    line-height: 1.5rem;
                    display: block;
                    margin-bottom: .4em;
                }

                p {
                    font-size: 0.75rem;
                    line-height: 1.5em;
                    margin-bottom: 0;

                }
            }
        }

        &:has(+ *) {
            margin-top: 1.5rem;
            margin-bottom: 2rem;
        }
    }



    .list-box2 {
        width: 100%;
        background: #fff;
        border: 2px solid #c37e81;
        border-radius: 10px;
        position: relative;

        .list-box2__ttl {
            display: block;
            font-size: 1rem;
            font-weight: 700;
            color: #fff;
            line-height: 1.4em;
            text-align: center;
            padding: 0.3125em 0.625em;
            background: #c37e81;
            border-radius: 6px 6px 0 0;

        }

        ul {
            display: flex;
            flex-direction: column;
            padding: 2em 1.111em;
            margin:0px 0px;
            @media(max-width:767px) {
                padding: 20px 15px;
            }

            li {
                font-size: 1.125em;
                color: #333;
                line-height: 1.5em;
                padding: 0.31em 0;
                border-bottom: 1px dashed #333;
                display: flex;
                align-items: center;
                gap: 5px;
                counter-increment: myCounter;
                @media(max-width:767px) {
                    font-size: 14px;
                    line-height: 24px;
                    align-items: flex-start;
                }

                &:first-child {
                    padding-top: 0;
                }

                &::before {
                    content: counter(myCounter);
                    width: 100%;
                    max-width: 1.6em;
                    height: 1.6em;
                    font-size: 1em;
                    font-weight: 700;
                    color: #fff;
                    background: #c37e81;
                    background-position: center;
                    background-size: contain;
                    border-radius: 50%;
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    @media(max-width:767px) {
                        margin-top: 3px;
                    }
                }
            }
        }

        &:has(+ *) {
            margin-top: 1.5rem;
            margin-bottom: 2rem;
        }
    }


    .list-box3 {
        width: 100%;
        background: #fff;
        border: 2px solid #c37e81;

        .list-box3-grid {
            display: grid;
            gap: 20px;
            grid-template-columns: repeat(2, 1fr);
            margin: 0 auto;
            margin: 1.25em 1em;
            @media(max-width:767px) {
                grid-template-columns: 1fr;
            }


            .img {
                flex-basis: 45%;

                img {
                    width: 100%;
                    object-fit: cover;
                }
            }

            .txt {
                flex-basis: 50.5%;
            }
        }

        &:has(+ *) {
            margin-top: 1.5rem;
            margin-bottom: 2rem;
        }
    }


    /* Table */
    table {
        width: 100%;
        border-collapse: collapse;

        th, td {
            color: #333;
            /* text-align: center;
            padding: 0.6667em 0.3889em; */
            text-align: left;
            padding: 0.6667em 1rem;
            border: 1px solid #b8b8b8;
            font-size: 18px;
            line-height: 1.5em;
            @media(max-width:767px) {
                font-size: 14px;
                line-height:28px;
            }
        }

        th {
            color: #fff;
            background: #c37e81;
        }

        /* Custom Heading BG */
        th.table-heading {
            background: #c37e81;
        }

        th.table-subheading {
            background: #c37e81;
        }

        &:has(+ *) {
            margin-bottom: 1rem;
        }
    }


    .unit__comments {
        margin:32px 0px;
    }

    .comments__comment {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 20px;
        flex-wrap: wrap;
        @media(max-width:767px) {
            gap:10px;
            align-items: flex-start;
        }

        .comment__image {
            flex-basis:200px;
            @media(max-width:767px) {
                flex-basis:80px;
            }

            figcaption {
                font-size: 14px;
                text-align: center;
                margin-top: 12px;
                font-weight: 500;
                @media(max-width:767px) {
                    font-size:10px;
                }
            }

            img {
                @media(max-width:767px) {
                    width:44px;
                    height:44px;
                }
            }
        }

        .comment__text {
            flex-basis:calc(100% - 220px);
            position: relative;
            display: flex;
            padding: 16px 16px;
            border-radius: 3px;
            border:4px solid #c5b2b2;
            background:#fff;
            text-align: left;
            font-weight:500;
            font-size: 17.5px;
            line-height: 1.5em;

            @media(max-width:767px) {
                flex-basis: calc(100% - 95px);
                border-width: 2px;
                font-size:12px;
                line-height:20px;
            }

            &:before {
                position: absolute;
                left: -3px;
                top: 30%;
                transform: translate(100%, -35%);
                content: "";
                width: 16px;
                height: 16px;
                border-left: 13px solid #c5b2b2;
                border-top: 13px solid transparent;
                border-bottom: 13px solid transparent;
                rotate: 180deg;
                @media(max-width:767px) {
                    width: 12px;
                    height: 12px;
                    border-left: 12px solid #c5b2b2;
                    border-top: 8px solid transparent;
                    border-bottom: 10px solid transparent;
                    left: -1px;
                    top: 0px;
                }
            }
        }

        .comment__text + p {
            display:none;
        }
    }
}



/*============================
TABLE OF CONTENT - Custom Style (TOC+)
============================*/
#toc_container {
	width: 100% !important;
    max-width: 890px;
	padding: 20px !important;
	margin: 0 auto;
	margin-top: 1em;
	background: #f4eded !important;
	border: 2px solid #c37e81 !important;
    box-shadow: none;
    // box-shadow: 9px 9px 0 #f4f4f4;
    margin-bottom: 30px;
}

#toc_container p.toc_title {
	font-size: 18px;
}


/* Toggle */
#toc_container span.toc_toggle {
	padding: 6px 12px;
    background-color: #c37e81;
    border-radius: 10px;
    text-align: center;
    cursor: pointer;
	position: relative;
    left: 8px;
}

#toc_container span.toc_toggle a{
	color: #f2f2f2 !important;
    border: 0;
}


#toc_container span.toc_toggle a:hover{
	text-decoration: none;
}

#toc_container span.toc_toggle .toc_brackets{
	display: none;
}

/* List */
#toc_container .toc_list li a {
	display: inline-block;
	font-size: 16px;
	font-weight: 500 !important;
    color: #333;
    line-height: 24px;
    border: 0;
    margin-bottom: 15px;
	transition: 0.3s;
}


#toc_container .toc_list li a:hover {
	transform: translateX(6px);
}

#toc_container .toc_list li ul li a {
	font-size: 14px;
	font-weight: 400 !important;
    color: #333;
    line-height: 25px;
    border: 0;
    margin-bottom: 13px;
}

#toc_container .toc_list .toc_number{
	font-size: 16px;
    font-weight: 500;
    padding-right: 4px;
    color: #c37e81;
}

@media (min-width: 320px) and (max-width: 768px) {
	#toc_container {
		width: 90% !important;
	}
}


/* Content */
.read-box-item {
    display: flex;
    flex-wrap: wrap;
    gap:16px;
    margin:32px 0px;
        
    /* @media(max-width:767px) {
        grid-template-columns: 1fr;
    } */
        
    &:last-child {
        margin-bottom: 0;
    }
        
    .read-box-item__ttl {
        flex-basis:100%;
    }

    .read-box-item__img {
        flex-basis:250px;
        @media(max-width:767px) {
            flex-basis:100%;
        }

        img {
            width: 100%;
            height: 150px;
            object-position: center;
            object-fit: cover;
        
            @media(max-width:767px) {
                height: auto;
            }
        }
    }
        
    .read-box-item__ttl {
        span.ttl {
            border-left: 6px solid #c37e81;
            padding-left: 10px;
            font-weight: 700;
            font-size: 22px;
            font-weight: 500;
            line-height: 1.7rem;
            display: block;
            margin-bottom: .4em;
            @media(max-width:767px) {
                font-size:20px;
                line-height:30px;
            }
        }
        
        /* p {
            font-size: 0.75rem;
            line-height: 1.5em;
            margin-bottom: 0;
        
        } */
    }

    .read-box-item__desc {
        flex-basis:calc(100% - 266px);
        @media(max-width:767px) {
            flex-basis:100%;
        }
    }
}