@charset "UTF-8";

/* 全般的な設定 */
h4{
    margin: 0;
    padding: 0 0 1rem 0;
}


article{
    margin-bottom: 3rem;
}

.commonFlexBox{
    display: flex;
    justify-content: space-between;
}

pre{
    white-space: pre-line;
}
/* phpで出力するときに、スタイル崩れの原因となる */



/* ------------------------------------------------------ */


/* 記事用設定 */
#articleTitle{
    margin-bottom: 0.5rem;
    font-size: 2.5rem;
}



#articleWrap{
    display: flex;
    justify-content: space-between;
}

        #articleContent{
            width: 70%;
            margin: 0 1rem 0 1rem;
            padding: 1rem 5rem 3rem;
            overflow-wrap: anywhere;
            background-color: white;
        }

            .articleSubTitle{
                font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;

                margin-top: 2rem;
                margin-bottom: 1rem;
                padding-left: 1rem;

                border-style: solid;
                border-width: 0 0 0 0.5rem;
                border-color: #777;
            }

            .articleContentImage{
                padding: 2rem 1rem 2rem ;
                width: 70%;
            }
#mainContent h3{
    font-size: 1.2rem;
    font-family: Arial, Helvetica, sans-serif;
}
#mainContent p{
    margin-bottom: 2rem;
}
#mainContent ul, ol{
    margin-top: 0;
    margin-bottom: 2rem;
}
#mainContent a{
    color: #8a2a51;
    text-decoration: underline;
}
            
            
#favFunction{
    display: flex;
    align-items: center;
    margin-top: 40px;
    padding: 4px;
    width: fit-content;
}

        #favorite{
            padding-right: 8px;
            height: 24px;
        }

#author, #updated_at{
    margin-top: 0.2rem;
    font-size: 0.8rem;
}

#parentCategory {
    margin-top: 1rem;
    font-weight: bold;
}

#articleId{
    display: none;
}
/* ------------------------------------------------------ */


/* サイドの設定 */
/* asideWrapがArticleとのflexの横並び設定 */
/* .asideWrap{
    width: 20%;
} */

        #keyword{
            width: 20%;
            padding: 1rem 1rem 1rem 1rem;
            overflow-wrap: anywhere;
            background-color: white;
            height: 48rem;
            overflow: scroll;
            position: sticky;
            top: 0;


            /* border-style: solid;
            border-width: 0.3rem 0  0.3rem;
            border-color: #777; */
        }
                #keywordContent{
                    padding: 0;
                }

                #keywordContent li{
                    margin-bottom: 2rem;
                }

                    .keyword{
                        font-size: 16px;
                        padding-bottom: 0;
                        color: #8a2a51; /* より暗めの赤紫 */
                    }
                    .description{
                        font-size: 12px;
                        line-height: 1.5;
                    }

/* ------------------------------------------------------ */

#relatedArticleBox{
    width: 80%;
}
.relatedArticle{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    align-content: flex-start;
    margin: 0;
    padding: 0;
}
    .relatedArticleItem{
        background-color: white;
        height: fit-content;
        height: 23rem;
        width: 22rem;
        padding: 1rem 0.5rem 1rem;
        margin:0 1rem 2rem;
        box-shadow: 2px 2px 10px #aaa;
    }

    .relatedArticleItem .imageCenter{
        height: 17rem;
    }

        .relatedArticleImage{
            max-height: 17rem;
            max-width: 90%;
            border-style: solid;
            border-color: #777;
        }
        .relatedArticleTitle{
            padding-left: 5%;
            font-size: 1.5rem;
        }

#ads{
    width: 20%;
    padding: 1rem;
}



/* ------------------------------レスポンシブ対応デザイン---------------------------- */
@media(max-width: 1350px){
    .relatedArticle{
        justify-content: space-around;
    }
    .relatedArticleItem{
        height: 15rem;
        width: 18rem;
        padding: 1rem 0 1rem;
        margin: 0.5rem;
    }
    .relatedArticleItem .imageCenter{
        height: 10rem;
    }
    .relatedArticleImage{
        max-height: 10rem;
        max-width: 90%;
    }
    .relatedArticleTitle{

        font-size: 18px;
        height: 4rem;
        padding-left: 5%;
        overflow: scroll;
    }
}
@media(max-width: 1230px){
    #articleTitle{
        font-size: 2.5rem;
    }
    #articleContent{
        padding: 1rem 3rem 3rem;;
    }
    .relatedArticle{
        justify-content: space-around;
    }
    .relatedArticleItem{
        height: 13rem;
        width: 16rem;
        padding: 1rem 0 1rem;
        margin: 0.5rem;
    }
    .relatedArticleItem .imageCenter{
        height: 8rem;
    }
    .relatedArticleImage{
        max-height: 8rem;
        max-width: 90%;
    }
    .relatedArticleTitle{
        font-size: 18px;
        height: 5.5rem;
        padding: 0;
        overflow: scroll;
    }
}
@media(max-width: 940px){
    .relatedArticleItem{
        height: 12rem;
        width: 12rem;
        padding: 1rem 0 1rem;
        margin: 1rem;
    }
    .relatedArticleItem .imageCenter{
        height: 8rem;
    }
    .relatedArticleImage{
        max-height: 8rem;
        max-width: 90%;
    }
    .relatedArticleTitle{
        font-size: 18px;
        height: 4rem;
        padding: 0;
        overflow: scroll;
    }
}

/* スマホ用 */
@media(max-width: 820px){

    article{margin-top: 5rem;
    /* ----------------------モバイルでヘッダーを固定するなら上部のマージンが必要---------------------- */
    }

    #articleTitle{
        margin-left: 2.5%;
        font-size: 2rem;
    }

    .articlePointQuestion{
        margin-right: 3%;
    }

    #articleWrap{
        align-items: center;
        flex-direction: column;
    }
        #articleContent{
            width: 90%;
            margin: 0 2.5% 2.5%;
            padding: 0 2.5% 2.5%;
        }
        .articleSubTitle{
            margin-top: 1rem;
        }
    
    #favFunction{
        font-size: initial;
    }
        #favorite{
            padding-right: 16px;
            height: 24px;
        }

    #keyword{
        width:80%;
        height: fit-content;
        /* max-height: 10rem; */

    }
            #keywordContent{
                display: flex;
                width: fit-content;
            }

            #keywordContent li{
                width: 240px;
                padding-right: 1rem;
                margin: 0
            }

    .commonFlexBox{
        width: 100%;
        display: flex;
        justify-content: center;
    }
    #relatedArticleBox{
        width: 100%;
    }
    .relatedArticle{
        display: flex;
        justify-content: space-evenly;
        width: 90%;
        margin: 5%;
    }
        .relatedArticleItem{
            height: 17rem;
            width: 19rem;
            padding: 1rem 0 1rem;
            margin: 1rem;
        }
        .relatedArticleItem .imageCenter{
            height: 13rem;
        }
        .relatedArticleImage{
            max-height: 13rem;
            max-width: 90%;
        }
        .relatedArticleTitle{
            height: 4rem;
            padding: 0;
            overflow: scroll;
            font-size: 1.2rem;
            padding: 0 3% 0 3%;
        }
    
    #ads{
        display: none;
    }
}
/* スマホ用 */
@media(max-width: 460px){
    #articleTitle{
        font-size: 1.8rem;
    }
    .articleContentImage{
        padding: 2rem 1rem 2rem ;
        width: 100%;
    }
    .commonFlexBox{
        display: flex;
        justify-content: center;
    }
    #relatedArticleBox{
        display: flex;
        justify-content: center;
    }
    .relatedArticle{
        width: 90%;
        margin: 0;
        align-items: center;
    }
        .relatedArticleItem{
            height: 17rem;
            width: 19rem;
            padding: 1rem 0 1rem;
            margin: 1rem;
        }
        .relatedArticleItem .imageCenter{
            height: 13rem;
        }
        .relatedArticleImage{
            max-height: 13rem;
            max-width: 90%;
        }
}

