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

    display: grid;
    gap: 15px;
}

.PC_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;
}

/**
 * パンくずリスト
 */
.PC_Article .BreadcrumbContainer {
    display: flex;
    gap: 10px;
    font-size: 14px;
    color: #aaa;
    line-height: 1;
}
.PC_Article .BreadcrumbContainer .Item {
    text-decoration: none;
    color: #777;
}
.PC_Article .BreadcrumbContainer .Item:hover {
    color: #555;
    font-weight: bold;
}

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

.PC_Article .TitleContainer h1.Title {
    all: unset;
    margin-bottom: 10px;
    font-size: 1.8em;
    font-weight: bold;
    color: #333;
}

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

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

/**
 * 記事イメージ
 */
.ArticleImageContainer {
    width: 100%;
}
.ArticleImageContainer .ArticleImage {
    width: 100%;
    height: auto;
    object-fit: contain;
}

/**
 * 目次
 */
.PC_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;
}
.PC_Article .TOCContainer .label {
    font-size: 15px;
    color: #777;
    margin-bottom: 10px;
}
.PC_Article .TOCContainer .Item {
    text-decoration: none;
    font-size: 15px;
    color: #555;
}
.PC_Article .TOCContainer .Item:hover {
    color: #333;
    font-weight: bold;
}
.PC_Article .TOCContainer .Item.Level2 {
    padding-top: 7px;
}
.PC_Article .TOCContainer .Item .Level2 {
    margin-left: 0px;
}
.PC_Article .TOCContainer .Item .Level3 {
    font-size: 14px;
    margin-left: 15px;
}
.PC_Article .TOCContainer .Item .Level4 {
    font-size: 14px;
    margin-left: 30px;
}

/**
 * 記事本文コンテナ
 */
.PC_Article .ContentContainer {
    display: grid;
    gap: 20px;
    padding-bottom: 30px;
    border-bottom: 1px solid #ccc;
}
.PC_Article .ContentContainer.BeforeHeader {
    border-bottom: none;
}

/**
 * 執筆者カードコンテナ
 */
.PC_Article .ArticleTopAuthorCardContainer {

}
.PC_Article .ArticleBottomAuthorCardContainer {
    padding: 30px 0px;
}

/**
 * 見出し
 */
.PC_Article .ContentContainer h2.ArticleHeading {
    margin-bottom: 0;
	padding: 0.75rem 1.3rem;
    color: #333;
    border-left: 3px solid var(--PrimaryColor);
    background-color: #f7f7f7;
}
.PC_Article .ContentContainer h3.ArticleHeading {
    margin-bottom: 0;
    border-left: solid 6px var(--Blue12);
	padding: 7px 0px 7px 15px;
    color: var(--PrimaryColor);
    border-bottom: 1px solid #ccc;
}
.PC_Article .ContentContainer h4.ArticleHeading {
    margin-bottom: 0;
    color: #777;
    border-bottom: 1px solid #ccc;
}

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

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

}

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

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

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

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

/**
 * マーカー
 */
mark.cdx-marker,
mark.Marker_Yellow {
    /* 黄色い蛍光ペンで下半分だけ下線を引いた装飾 */
    background: unset; 
    background-image: linear-gradient(transparent 60%, #ffff0077 60%);
}
mark.Marker_Red {
    /* 赤い蛍光ペンで下半分だけ下線を引いた装飾 */
    background: unset;
    background-image: linear-gradient(transparent 60%, #ff000055 60%);
}
mark.Marker_Blue {
    /* 青い蛍光ペンで下半分だけ下線を引いた装飾 */
    background: unset;
    background-image: linear-gradient(transparent 60%, #cdd8d8 60%);
}

/**
 * 中央揃え
 */
.Custom_CenterContent {
    display: block;
    width: 100%;
    text-align: center;
}

/**
 * ブロック設定
 */

.Article_TextVariant__call-out,
.cdx-text-variant--call-out .ce-block__content {
    padding: 15px 20px;
    border-radius: 5px;
    background-color: #eee;
}

.Article_TextVariant__citation,
.cdx-text-variant--citation .ce-block__content {
    padding: 15px 20px;
    border-radius: 5px;
    border: 1px solid #eee;

    position: relative;
    padding-left: 55px;
}

.Article_TextVariant__citation::before,
.cdx-text-variant--citation .ce-block__content::before {
    content: url('data:image/svg+xml;utf8,<svg viewBox="0 0 400 400" xmlns="http://www.w3.org/2000/svg"><path fill="%23777" d="M281.488 301c6.388 0 12.311-1.14 17.768-3.42 5.457-2.28 10.315-5.433 14.574-9.456a43.696 43.696 0 009.983-14.084c2.395-5.365 3.593-11.133 3.593-17.303 0-10.999-2.994-20.388-8.984-28.167-5.99-7.78-14.707-11.67-26.153-11.67-5.324 0-10.249.805-14.774 2.415-4.526 1.61-7.587 3.085-9.184 4.426a165.146 165.146 0 01-1.997-9.054 46.483 46.483 0 01-.798-8.651c0-9.658 1.664-18.242 4.991-25.753 3.328-7.511 7.92-14.486 13.776-20.924 5.856-6.439 12.777-12.609 20.763-18.51 7.986-5.902 16.637-11.938 25.954-18.108L313.032 99c-12.778 6.975-24.89 14.352-36.336 22.131-11.446 7.78-21.562 16.9-30.346 27.363-8.785 10.462-15.706 22.534-20.763 36.215-5.058 13.681-7.587 29.777-7.587 48.287 0 7.511 1.264 15.29 3.793 23.339 2.53 8.047 6.389 15.358 11.58 21.93 5.19 6.572 11.779 12.005 19.765 16.297 7.986 4.292 17.436 6.438 28.35 6.438zm-148 0c6.388 0 12.311-1.14 17.768-3.42 5.457-2.28 10.315-5.433 14.574-9.456a43.696 43.696 0 009.983-14.084c2.395-5.365 3.593-11.133 3.593-17.303 0-10.999-2.994-20.388-8.984-28.167-5.99-7.78-14.707-11.67-26.153-11.67-5.324 0-10.249.805-14.774 2.415-4.526 1.61-7.587 3.085-9.184 4.426a165.146 165.146 0 01-1.997-9.054 46.483 46.483 0 01-.798-8.651c0-9.658 1.664-18.242 4.991-25.753 3.328-7.511 7.92-14.486 13.776-20.924 5.856-6.439 12.777-12.609 20.763-18.51 7.986-5.902 16.637-11.938 25.954-18.108L165.032 99c-12.778 6.975-24.89 14.352-36.336 22.131-11.446 7.78-21.562 16.9-30.346 27.363-8.785 10.462-15.706 22.534-20.763 36.215C72.529 198.39 70 214.486 70 232.996c0 7.511 1.264 15.29 3.793 23.339 2.53 8.047 6.389 15.358 11.58 21.93 5.19 6.572 11.779 12.005 19.765 16.297 7.986 4.292 17.436 6.438 28.35 6.438z"/></svg>');
    position: absolute;
    left: 20px;
    top: 15px;
    width: 25px;
    height: 25px;
    color: #777;
}

/* エディターでの表示を最適化 */
/* 強調枠や引用が連続で並んでいてもマージンありで表示されるように */
.cdx-text-variant--call-out .ce-block__content,
.cdx-text-variant--citation .ce-block__content {
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}

.cdx-text-variant__toggler svg {
    width: 20px;
    height: 20px;
}