.mce-content-body ol {
    list-style: decimal;
}

.mce-content-body ul:not(:first-child),
.mce-content-body ol:not(:first-child) {
    margin-top: 1em;
}

.mce-content-body ul:not(:last-child),
.mce-content-body ol:not(:last-child) {
    margin-bottom: 1em;
}

.mce-content-body ul li,
.mce-content-body ol li {
    position: relative;
    margin: 0;
    border-bottom: none;
    padding: 0;
    margin-left: 2em;
    padding-top: 0.5em;
    font-family: var(--font-jp_b);
    font-weight: bold;
}

.mce-content-body ul li {
    list-style: none;
}

.mce-content-body ul li::before {
    content: '';
    position: absolute;
    top: 1.2em;
    left: -1.3em;
    width: 8px;
    height: 8px;
    border: 1px solid var(--lightcolor3);
    background-color: var(--lightcolor3);
}

.mce-content-body ul[style='list-style-type: circle;'] li::before {
    background-color: #fff;
}

.mce-content-body ul:not([style='list-style-type: square;']) li::before {
    border-radius: 50%;
}

.mce-content-body img {
    margin: 1em 0;
    max-width: 100%;
    height: auto;
}

.mce-content-body hr {
    border-color: #151e2f;
}

.mce-content-body .box {
    padding: 30px;
    font-family: var(--font-jp_b);
    font-weight: bold;
    line-height: 2;
    letter-spacing: 0.1em;
    background-color: #d9e0e4;
}

.mce-content-body .box:not(:first-child) {
    margin-top: 2em;
}

.mce-content-body .box:not(:last-child) {
    margin-bottom: 2em;
}

.mce-content-body .box-wh {
    background-color: #fff;
    border: 0;
}

.mce-content-body .alignleft {
    float: left;
    clear: left;
    margin-right: 1em;
    margin-bottom: 1em;
}

.mce-content-body .alignright {
    float: right;
    clear: right;
    margin-left: 1em;
    margin-bottom: 1em;
}

.mce-content-body .aligncenter {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 1em;
}

.mce-content-body img.aligncenter {
    display: block;
}

.mce-content-body .alignleft:last-child,
.mce-content-body .alignright:last-child,
.mce-content-body .aligncenter:last-child {
    margin-bottom: 0;
}

.mce-content-body p {
    letter-spacing: 0.08em;
    font-size: 1.125rem;
    font-family: var(--font-jp);
    font-weight: normal;
    line-height: 2.1;
}

.mce-content-body p:not(:last-child) {
    margin-bottom: 1em;
}

.mce-content-body strong {
    font-weight: bold;
    font-family: var(--font-jp_b);
    font-weight: bold;
    color: var(--maincolor);
}

.mce-content-body blockquote {
    margin: 1em 0;
    padding: 15px 40px;
    border-radius: 3px;
    position: relative;
    display: inline-block;
    font-style: oblique;
    color: #666;
    background-color: #f8f8f8;
}

.mce-content-body blockquote p {
    margin-bottom: 0;
}

.mce-content-body blockquote::before,
.mce-content-body blockquote::after {
    content: '';
    position: absolute;
    width: 1em;
    height: 1em;
    opacity: 0.25;
}

.mce-content-body blockquote::before {
    background-image: url('../img/common/icon-quote_left.svg');
    top: 13px;
    left: 10px;
}

.mce-content-body blockquote::after {
    background-image: url('../img/common/icon-quote_right.svg');
    bottom: 13px;
    right: 10px;
}

.mce-content-body a {
    text-decoration: underline;
}

.mce-content-body a:hover {
    text-decoration: none;
}

.mce-content-body .footer_text small {
    display: block;
    margin-top: 8px;
    text-align: right;
}

.mce-content-body table {
    border: none;
    height: auto !important;
}

.mce-content-body table.table2 {
    background: #fff;
}

.mce-content-body table:not(:first-child) {
    margin-top: 1em;
}

.mce-content-body table:not(:last-child) {
    margin-bottom: 1em;
}

.mce-content-body th,
.mce-content-body td,
.mce-content-body tr {
    height: auto !important;
    font-family: var(--font-jp_b);
    font-weight: bold;
}

.mce-content-body th,
.mce-content-body td {
    padding: 1em;
    border: 1px solid #d3d3d3;
    vertical-align: middle;
}

.mce-content-body th {
    min-width: 120px;
    text-align: left;
}

.mce-content-body tr:not(:last-of-type) th {
    border-bottom: 1px solid #fff;
}

.mce-content-body sup {
    font-size: 0.75rem;
    /* 12px */
    color: #555;
}

.bold {
    font-weight: bold;
    color: var(--maincolor);
    font-family: var(--font-jp_b);
    font-weight: bold;
}

.bold_wh {
    font-weight: bold;
    font-family: var(--font-jp_b);
    font-weight: bold;
}


/* iframe */

.mce-content-body iframe {
    position: relative;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    vertical-align: bottom;
}

.mce-content-body iframe:not(:first-child) {
    margin-top: 2em;
}

.mce-content-body iframe:not(:last-child) {
    margin-bottom: 2em;
}


/* table scroll */

.table-sp-scroll {
    white-space: nowrap;
}

.scroll {
    overflow-x: scroll;
    margin-bottom: 1em;
    -webkit-overflow-scrolling: touch;
}

.scroll table {
    margin: 0;
}

.scroll--cap {
    text-align: right;
    margin: 1em 0 0 !important;
    color: var(--lightcolor3);
    font-size: 0.875rem;
    /* 14px */
}

@media screen and (max-width: 767px) {
    .mce-content-body p:not([class]) {
        text-align: left !important;
    }
    .mce-content-body p {
        line-height: 1.7;
    }
    .mce-content-body .alignright,
    .mce-content-body .alignleft {
        width: 100% !important;
        float: none;
        margin: 20px auto;
        display: block;
    }
    .mce-content-body blockquote {
        padding: 15px;
    }
    .mce-content-body blockquote::before {
        top: 0;
        left: 0;
    }
    .mce-content-body blockquote::after {
        bottom: 0;
        right: 0;
    }
    .mce-content-body ul li::before {
        width: 8px;
        height: 8px;
    }
    .mce-content-body table {
        max-width: none !important;
    }
    .mce-content-body th {
        font-weight: bold;
    }
    .mce-content-body th,
    .mce-content-body td {
        padding: 0.5em 1em;
    }
    .table-sp-full {
        width: 100% !important;
    }
    .table-sp-full th,
    .table-sp-full td {
        flex: 1;
    }
    .table-sp-block,
    .table-sp-block th,
    .table-sp-block td {
        width: 100% !important;
    }
    .table-sp-block th,
    .table-sp-block td {
        display: block;
    }
    .mce-content-body .box {
        padding: 24px;
    }
}


/* 管理画面エディタ用
*************************************************** */

.mce-content-body.wp-editor {
    padding: 24px !important;
    max-height: 100vh !important;
    overflow-y: scroll !important;
}

@media screen and (max-width: 767px) {
    .mce-content-body.wp-editor table tr *:first-child:nth-last-child(2),
    .mce-content-body.wp-editor table tr *:first-child:nth-last-child(2)~* {
        display: table-cell;
        width: auto !important;
    }
}


/* add quicktag
*************************************************** */


/* 見出し */

.editor-ttl:not(:first-child),

/* .editor-ttl2:not(:first-child), */

.editor-ttl3:not(:first-child) {
    margin-top: 1em;
}

.editor-ttl:not(:last-child),
.editor-ttl2:not(:last-child),
.editor-ttl3:not(:last-child) {
    padding-top: 1.25rem;
}

.editor-ttl3:not(:last-child) {
    padding: 0.525em 1.75em;
}

.editor-ttl {
    position: relative;
    padding-bottom: 1.56rem;
    font-family: var(--font-jp_b);
    font-weight: bold;
    font-size: 2rem;
    /* 32px */
    line-height: 1.5;
}

.editor-ttl::before,
.editor-ttl::after {
    content: '';
    height: 4px;
    width: 50px;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
}

.editor-ttl::before {
    width: 100px;
    background-color: var(--maincolor);
}

.editor-ttl::after {
    width: 24px;
    background-color: var(--maincolor2);
}

.editor-ttl2:not(:last-child) {
    margin-bottom: 1.875rem;
    padding-top: 0;
}

.editor-ttl2 {
    position: relative;
    padding-left: 20px;
    font-size: 1.5rem;
    /* 24px */
    color: var(--text_black);
    font-family: var(--font-jp_b);
    font-weight: bold;
    line-height: 1.71;
    letter-spacing: 0.1em;
}

.editor-ttl2::after {
    position: absolute;
    content: '';
    width: 4px;
    height: calc(100% - 0.275em);
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    display: block;
    background-color: var(--maincolor);
}

.editor-ttl3:not(:last-child) {
    margin-bottom: 1.8rem;
}

.editor-ttl3 {
    position: relative;
    font-family: var(--font-jp_b);
    font-weight: bold;
    font-size: 1.125rem;
    /* 18px */
    padding: 0.525em 1.75em;
    background-color: var(--maincolor);
    color: #fff;
    line-height: 1.738;
}


/* 注意書き */

.txt-attention {
    display: block;
    text-indent: -1em;
    padding-left: 1em;
    font-size: 0.875rem;
    /* 14px */
    color: #999;
}

.txt-attention::before {
    content: '※';
}


/* テーブル */

.mce-content-body table:not(.table1) th,
.table2 th {
    background-color: var(--table_head);
    color: var(--text_black);
}

.table1 th,
.table1 td {
    position: relative;
    border: 0;
    padding: 1em 1.5em;
}

.table1 th {
    font-size: 1.125rem;
    /* 18px */
}

.table1 th::before,
.table1 td::before {
    content: '';
    position: absolute;
    bottom: 0;
    width: 100%;
}

.table1 th::before {
    left: 0;
    height: 1px;
    background-color: var(--maincolor);
}

.table1 td::before {
    right: 0;
    height: 1px;
    background-color: #d3d3d3;
}


/* IE */

_:-ms-input-placeholder,
:root .table1 th {
    border-bottom: 2px solid #1d7fb7;
}

_:-ms-input-placeholder,
:root .table1 td {
    border-bottom: 1px solid #d3d3d3;
}

_:-ms-input-placeholder,
:root .table1 th::before,
_:-ms-input-placeholder,
:root .table1 td::before {
    display: none;
}

@media screen and (max-width: 767px) {
    .editor-ttl {
        font-size: 1.428rem;
        /* 20px */
        padding-bottom: 0.9rem;
    }
    .editor-ttl::before {
        width: 50px;
        height: 3px;
    }
    .editor-ttl::after {
        width: 14px;
        height: 3px;
    }
    .editor-ttl2,
    .editor-ttl2:not(:last-child) {
        font-size: 1.285rem;
        /* 20px */
        line-height: 1.5;
        padding-left: 15px;
        margin-bottom: 0.9rem;
    }
    .editor-ttl3,
    .editor-ttl3:not(:last-child) {
        font-size: 1.143rem;
        /* 16px */
        padding: 10px 14px;
    }
    .mce-content-body .editor-ttl+ul:not(:first-child),
    .mce-content-body .editor-ttl2+ul:not(:first-child) {
        margin-top: 0;
    }
    /* テーブル */
    .table2.table-sp-block th,
    .table2.table-sp-block td {
        border-bottom: 0;
        border-top: 0;
    }
    .table2.table-sp-block tr:last-child>*:last-child {
        border-bottom: 1px solid #d3d3d3;
    }
    .table1.table-sp-block td::before {
        display: none;
    }
    /* 注意書き */
    .txt-attention {
        font-size: 0.929rem;
        /* 13px */
    }
    .table1 th,
    .table1 td {
        padding: 1em 0.7em;
    }
}