/* Classic Editor のスタイル調整 */
.editor-styles-wrapper {
    font-family: "heisei-kaku-gothic-std", sans-serif;
    font-weight: 500;
    font-size: calc((16 / 1400)* 100vw);
    color: #000000 !important;
    line-height: 1.6 !important;
    padding-top: calc((210 / 1400)* 100vw);
    background-color: white;
}

/* 見出しのスタイル */
.editor-styles-wrapper h1, 
.editor-styles-wrapper h2, 
.editor-styles-wrapper h3, 
.editor-styles-wrapper h4, 
.editor-styles-wrapper h5, 
.editor-styles-wrapper h6 {
    color: #000000 !important;
    font-weight: 400 !important;

    width: calc(100% - calc((500 / 1400)* 100vw));
    margin: 0 auto;
    margin-bottom: calc((35 / 1400)* 100vw);
}

.editor-styles-wrapper h2 {
    font-size: calc((31 / 1400)* 100vw) !important;
    transform: unset !important;
}

.editor-styles-wrapper p {
    line-height: 2;
    width: calc(100% - calc((500 / 1400)* 100vw));
    margin: 0 auto;
    margin-bottom: calc((35 / 1400)* 100vw);
    font-weight: 300;
    font-family: "heisei-kaku-gothic-std", sans-serif;
}

.wp-block-image {
    width: calc(100% - calc((500 / 1400)* 100vw));
    margin: 0 auto;
    margin-bottom: calc((35 / 1400)* 100vw);
}

.wp-block-image img {
    width: 100%;
}

.orange {
    width: 100% !important;
    background-color: #D56527;
    color: white;
    text-align: center;
    padding: calc((100 / 1400)* 100vw) 0;
    font-size: calc((18 / 1400)* 100vw);
    line-height: 2;
    font-family: "Noto Serif JP", serif !important;
    font-weight: 400 !important;
    transform: unset !important;
}

.orange .highlight {
    font-family: "dashiell-text", serif !important;
    font-weight: 400 !important;
    font-style: italic;
}


.da-or {
    color: #D56527;
    font-family: "dashiell-text", serif !important;
    font-weight: 400 !important;
    font-style: italic;
    margin-bottom: calc((0 / 1400)* 100vw) !important;
}

/* リストのスタイル */
.editor-styles-wrapper ul {
    list-style-type: disc !important;
    margin-left: 20px !important;
}

.editor-styles-wrapper ol {
    list-style-type: decimal !important;
    margin-left: 20px !important;
}

/* テーブルのスタイル */
.editor-styles-wrapper table {
    width: 100% !important;
    border-collapse: collapse !important;
}

.editor-styles-wrapper th, 
.editor-styles-wrapper td {
    border: 1px solid #ddd !important;
    padding: 8px !important;
}

/* リンクのスタイル */
.editor-styles-wrapper a {
    color: #0073aa !important;
    text-decoration: underline !important;
}

.editor-styles-wrapper a:hover {
    color: #005177 !important;
}

/* 画像のスタイル */
.editor-styles-wrapper img {
    max-width: 100% !important;
    height: auto !important;
}

/* ボタンのスタイル */
.editor-styles-wrapper .button {
    background-color: #0073aa !important;
    color: #fff !important;
    padding: 8px 16px !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    display: inline-block !important;
}

.editor-styles-wrapper .button:hover {
    background-color: #005177 !important;
}

/* 引用のスタイル */
.editor-styles-wrapper blockquote {
    border-left: 4px solid #FFDC21 !important;
    padding: 10px 15px !important;
    color: #555 !important;
    background: #f8f8f8 !important;
}
.editor-styles-wrapper blockquote p {
    margin-top: 0 !important;
}

/* 太字と斜体 */
.editor-styles-wrapper strong {
    font-weight: bold !important;
}

.editor-styles-wrapper em {
    font-style: italic !important;
}

/* カスタムクラスがあれば追加 */
.editor-styles-wrapper .custom-class {
    background-color: #f4f4f4 !important;
    padding: 10px !important;
    border-radius: 5px !important;
}

/* clearfix */
.editor-styles-wrapper::after {
    content: "";
    display: table;
    clear: both;
}

/* 番号付きリストの番号を強制的に表示 */
.editor-styles-wrapper ol {
    list-style-type: decimal !important;
    margin-left: 20px !important;
    padding-left: 20px !important;
    counter-reset: list-counter !important;
}

.editor-styles-wrapper ol li {
    display: list-item !important;
    counter-increment: list-counter !important;
}

/* 番号を明示的に表示 */
.editor-styles-wrapper ol li::before {
    content: counter(list-counter) "." !important;
    font-weight: bold !important;
    margin-right: 5px !important;
    color: black;
}

/* 番号なしリストの点を強制的に表示 */
.editor-styles-wrapper ul {
    list-style-type: none !important; /* デフォルトの点を無効化 */
    margin-left: 20px !important;
    padding-left: 20px !important;
}

.editor-styles-wrapper ul li {
    position: relative !important;
}

/* 疑似要素を使って点（●）を表示 */
.editor-styles-wrapper ul li::before {
    content: "●"; /* 黒丸を表示 */
    color: #333 !important; /* 点の色 */
    font-size: 5px !important; /* 点のサイズ */
    position: relative;
    top: -3px;
    padding-right: 6px !important; /* 点のためのスペースを確保 */
}

/* 目次スタイル */
#toc_container {
    font-family: "heisei-kaku-gothic-std", sans-serif;
    font-weight: 500;
    padding: calc((30 / 1400)* 100vw) calc((60 / 1400)* 100vw) !important;
    border: 1px solid #727171 !important;
    border-radius: calc((20 / 1400)* 100vw);
    width: calc(100% - ((620 / 1400)* 100vw)) !important;
    margin: 0 auto calc((130 / 1400)* 100vw) !important;
    letter-spacing: 0.06em;
    color: #211815;
    background-color: white !important;
}

.toc_title {
    font-size: calc((16 / 1400)* 100vw);
    padding-bottom: calc((15 / 1400)* 100vw) !important;
    border-bottom: 1px solid #727171;
    width: 100% !important;
    margin-bottom: 0 !important;
    font-family: "Noto Serif JP", serif !important;
    font-weight: 700 !important;
    text-align: left !important;
}

ul.toc_list {
    margin-left: 0 !important;
    padding-left: 0 !important;
    font-size: calc((14 / 1400)* 100vw);
}
ul.toc_list li {
    display: flex;
    align-items: center;
    border-bottom: 1px solid #727171;
}
ul.toc_list li::before { 
    content: "-";
    top: 0;
    font-size: calc((16 / 1400)* 100vw) !important;
}

.toc_list a {
    padding: calc((15 / 1400)* 100vw) 0;
    width: 100%;
    color: #211815 !important;
    text-decoration: unset !important;
}
.toc_list li:last-child {
    border-bottom: unset;
}

@media (max-width: 768px) {
/* Classic Editor のスタイル調整 */
.editor-styles-wrapper {
    font-size: 14px;
    padding-top: 50px;
}

/* 見出しのスタイル */
.editor-styles-wrapper h1, 
.editor-styles-wrapper h2, 
.editor-styles-wrapper h3, 
.editor-styles-wrapper h4, 
.editor-styles-wrapper h5, 
.editor-styles-wrapper h6 {
    width: calc(100% - 60px);
    margin-bottom: 35px;
}

.editor-styles-wrapper h2 {
    font-size: 21px !important;
}

.editor-styles-wrapper p {
    width: calc(100% - 60px);
    margin-bottom: 35px;
}

.wp-block-image {
    width: 100%;
    margin-bottom: 30px;
    display: flex;
    justify-content: center;
}

.orange {
    width: calc(100% - 40px) !important;
    padding: 100px 20px;
    font-size: 14px;
}


    /* 目次スタイル */
    #toc_container {
        padding: 20px !important;
        border-radius: 10px;
        width: calc(100% - 100px) !important;
        margin: 0 auto 90px !important;
    }

    .toc_title {
        font-size: 14px;
        padding-bottom: 10px;
    }

    ul.toc_list {
        font-size: 13px;
    }
    ul.toc_list li::before { 
        font-size: 13px !important;
    }

    .toc_list a {
        padding: 10px 0;
    }
}