/**
 * 記事コンテナ
 */
.CZ_Article {
    width: 100%;
    max-width: 700px;
    padding: 10px;
    margin: 0 auto;

    display: grid;
    gap: 15px;
}

.CZ_Article .EmptyCard {
    display: grid;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 30px 10px;
    text-decoration: none;
    color: #555;
    background-color: #fff;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
}

/**
 * タイトル
 */
.CZ_Article .TitleContainer {
    display: grid;
    gap: 5px;
}

.CZ_Article .TitleContainer .Title {
    margin-bottom: 10px;
    font-size: 2.2rem;
    font-weight: bold;
    color: #333;
}

.CZ_Article .TitleContainer .FlexRow {
    display: flex;
    flex-wrap: wrap;
    row-gap: 10px;
    justify-content: space-between;
}

.CZ_Article .DateTimeContainer {
    display: grid;
    gap: 7px;
    align-content: center;
    font-size: 13px;
    color: #777;
    line-height: 1;
}

/**
 * 目次
 */
.CZ_Article .TOCContainer {
    display: flex;
    flex-direction: column;
    gap: 3px;
    width: 100%;
    padding: 20px;
    border: 1px solid #ccc;
    border-radius: 5px;
    background-color: #fff;
    margin-bottom: 20px;
    /* 見出しのマイナスマージンと被った場合、目次のクリックができない問題を解決 */
    z-index: 0;
}
.CZ_Article .TOCContainer .label {
    font-size: 15px;
    color: #777;
    margin-bottom: 10px;
}
.CZ_Article .TOCContainer .Item {
    text-decoration: none;
    font-size: 15px;
    color: #555;
}
.CZ_Article .TOCContainer .Item:hover {
    color: #333;
    font-weight: bold;
}
.CZ_Article .TOCContainer .Item.Level2 {
    padding-top: 7px;
}
.CZ_Article .TOCContainer .Item .Level2 {
    margin-left: 0px;
}
.CZ_Article .TOCContainer .Item .Level3 {
    font-size: 14px;
    margin-left: 15px;
}
.CZ_Article .TOCContainer .Item .Level4 {
    font-size: 14px;
    margin-left: 30px;
}

/**
 * 記事本文コンテナ
 */
.CZ_Article .ContentContainer {
    display: grid;
    gap: 20px;
    white-space: pre-wrap;
    /* 長いURLなどが改行なく表示されることを防ぐ */
    word-break: break-all;
}

/**
 * 見出し
 */
.CZ_Article .ContentContainer h2.ArticleHeading {
    /* padding-top: 100px;
    margin-top: -90px; */
    margin-bottom: 0;
    background: var(--Blue9);
	border-left: solid 10px var(--Blue12);
	padding: 0.75rem 1.3rem;
    color: #fff;
}
.CZ_Article .ContentContainer h3.ArticleHeading {
    /* padding-top: 100px;
    margin-top: -90px; */
    margin-bottom: 0;
    border-left: solid 6px var(--Blue12);
	padding: 7px 0px 7px 15px;
    color: var(--Blue14);
    border-bottom: 1px solid #ccc;
}
.CZ_Article .ContentContainer h4.ArticleHeading {
    /* padding-top: 100px;
    margin-top: -90px; */
    margin-bottom: 0;
    color: var(--Blue14);
}

/**
 * 本文
 */
.CZ_Article .Article_Paragraph {
    font-size: 16px;
    color: #222;
    line-height: 1.7;
    margin: 0px;
}

/**
 * リスト
 */
.CZ_Article .Article_List {
    color: #222;
    line-height: 1.7;
    margin: 0;
}
.CZ_Article .Article_List li {

}

/**
 * 画像
 */
.CZ_Article .Article_Image__Container {
    margin: 0;
    padding: 10px;
}
.CZ_Article .Article_Image__Container .Article_Image {
    max-width: 100%;
}
.CZ_Article .Article_Image__Container .Article_Image__withBorder {
    border: 1px solid #ccc;
}
.CZ_Article .Article_Image__Container .Article_Image__stretched {
    width: 100%;
}
.CZ_Article .Article_Image__Container.Article_Image__withBackground {
    background-color: #ddd;
}
.CZ_Article .Article_Image__Container .Article_Image__withBackground {
    width: 60%;
    display: block;
    margin: 0 auto;
}
.CZ_Article .Article_Image__Container .Article_Image__Caption {
    font-size: 14px;
    color: #555;
}

/**
 * 表
 */
.CZ_Article .Article_Table__ScrollableContainer {
    width: 100%;
    overflow-x: auto;
}
.CZ_Article .Article_Table__TableElem {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
    background-color: #fff;
}
.CZ_Article .Article_Table__TableElem thead tr {
    background-color: #f2f2f2;
    border-bottom: 2px solid #ddd;
    font-weight: bold;
}
.CZ_Article .Article_Table__TableElem th {
    /* border: 1px solid #ddd; */
    padding: 10px;
    text-align: left;
}
.CZ_Article .Article_Table__TableElem tbody tr {
    border-bottom: 1px solid #ddd;
}
.CZ_Article .Article_Table__TableElem tbody tr:nth-child(even) {
    background-color: #f9f9f9;
}
.CZ_Article .Article_Table__TableElem td {
    /* border: 1px solid #ddd; */
    padding: 10px;
    text-align: left;
}

/**
 * 引用
 */
.CZ_Article .Article_Quote__Container {
    position: relative;
    margin: 0;
    padding: 10px 10px 20px 60px;
    background-color: #ddd;
}
.CZ_Article .Article_Quote__Icon {
    position: absolute;
    top: 10px;
    left: 15px;
    font-size: 35px;
    color: #aaa;
}
.CZ_Article .Article_Quote__Text {
    font-size: 15px;
    line-height: 1.7;
    color: #333;
}
.CZ_Article .Article_Quote__Caption {
    font-size: 13px;
    color: #555;
}

/**
 * 埋め込み
 */
.CZ_Article .Article_Embed__Container {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.CZ_Article .Article_Embed__Container .Article_Embed__Iframe{
    width: 100%;
    max-width: 600px;
    aspect-ratio: 16/9;
    margin: 0 auto;
}
.CZ_Article .Article_Embed__Container .Article_Embed__Caption{
    font-size: 13px;
    font-weight: 300;
    color: #777;
}