@charset "UTF-8";
:root :where(
    p.is-style-sme-speech,
    p.is-style-sme-speech-left,
    p.is-style-sme-speech-right,
    p.is-style-sme-speech-top
) {
    background: var(--color-accent);
}

.editor-styles-wrapper {
    padding: 20px;
}
.block-editor * {
    color: var(--color-font);
}

.entry-content{
    & > * + *{
        margin-top: 20px;
    }
}

/* 見出し */
.editor-styles-wrapper h1,
.content-post h1 {
    padding-bottom: 15px;
    margin-bottom: 25px;
    position: relative;
    font-size: 2.4rem;
    border-bottom: solid 1px var(--color-main);
    font-family: var(--font-base);
    font-weight: var(--weight-bold);
}

.editor-styles-wrapper h2,
.content-post h2 {
    margin-bottom: 20px;
    padding: 6px 20px;
    font-size: 2.2rem;
    background: var(--color-sub);
    font-weight: var(--weight-bold);
    font-family: var(--font-base);
    color: #fff;
    border: none;
    border-radius: 5px;
}

.editor-styles-wrapper h3,
.content-post h3 {
    margin-top: 20px;
    margin-bottom: 40px;
    padding: 10px 0px;
    position: relative;
    font-size: 2rem;
    font-weight: var(--weight-bold);
    font-family: var(--font-base);
    
    &::after {
        content: "";
        width: 100%;
        height: 4px;
        position: absolute;
        bottom: 0;
        left: 0;
        z-index: 1;
        background-color: var(--color-sub);
        -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='6' height='3'><circle cx='1.5' cy='1.5' r='1.5' fill='black'/></svg>") repeat-x center;
        mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='6' height='3'><circle cx='1.5' cy='1.5' r='1.5' fill='black'/></svg>") repeat-x center;
    }
}

.editor-styles-wrapper h4,
.content-post h4{
    margin-top: 20px;
    margin-bottom: 40px;
    padding: 10px 0px;
    font-size: 2rem;
    font-weight: var(--weight-bold);
    color: var(--color-main);
    border-top: solid 2px var(--color-sub); 
    border-bottom: solid 2px var(--color-sub); 
}

.editor-styles-wrapper h5,
.content-post h5{
    margin-top: 20px;
    margin-bottom: 40px;
    padding: 10px 0px;
    font-size: 1.6rem;
    font-weight: var(--weight-bold);
    color: var(--color-main);
    border-bottom: dashed 2px var(--color-main); 
}

.editor-styles-wrapper h6,
.content-post h6{
    margin-top: 20px;
    margin-bottom: 40px;
    padding: 10px 0px;
    font-size: 1.6rem;
    font-weight: var(--weight-bold);
    color: var(--color-main);
    border-bottom: solid 1px var(--color-main); 
}

/* 吹き出し */
.editor-styles-wrapper .is-style-fukidashi,
.content-post .is-style-fukidashi{
    padding: 30px 20px;
    margin-bottom: 40px;
    line-height: 1.6;
    box-sizing: border-box;
    position: relative;
    font-size: 1.8rem;
    font-weight: var(--weight-bold);
}

.editor-styles-wrapper .is-style-fukidashi::before,
.editor-styles-wrapper .is-style-fukidashi::after,
.content-post .is-style-fukidashi::before,
.content-post .is-style-fukidashi::after{
    content: "";
    border-top: 2px solid var(--color-sub);
    width: 40px;
    height: 1px;
    position: absolute;
    left: 0;
}
.editor-styles-wrapper .is-style-fukidashi::before,
.content-post .is-style-fukidashi::before {
    top: 10px;
    transform: rotate(-18deg);
}
.editor-styles-wrapper .is-style-fukidashi::after,
.content-post .is-style-fukidashi::after {
    bottom: 10px;
    transform: rotate(18deg);
}

/* 段落 */
.editor-styles-wrapper p,
.content-post p {
    margin-bottom: 30px;
    line-height: 2;
}

/* リンク */
.editor-styles-wrapper a,
.content-post a {
	font-family: var(--font-base);
	color: var(--color-main);
	transition: 500ms;
}
.editor-styles-wrapper a:hover,
.content-post a:hover{
	opacity: 0.6;
	color: var(--color-main);
}

.editor-styles-wrapper a[target="_blank"],
.content-post a[target="_blank"] {
    margin-right: 5px;
    padding-right: 20px;
    display: inline-block;
    position: relative;
}

.editor-styles-wrapper a[target="_blank"]::after,
.content-post a[target="_blank"]::after {
    margin-top: 2px;
    width: calc(15px);
    height: calc(15px);
    content:"";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    background: url(../1_img/base/icon-window.svg);
    background-repeat: no-repeat;
    background-size: 15px auto;
}

/* リスト li */
.editor-styles-wrapper ul,
.content-post ul {
    padding-left: 0px;
    list-style: none!important;
}

.editor-styles-wrapper ul > li,
.content-post ul > li {
    padding-left: 20px;
    position: relative;
}

.editor-styles-wrapper ul > li + li,
.content-post ul > li + li {
    margin-top: 5px;
}

.editor-styles-wrapper ul > li::after,
.content-post ul > li::after {
    content: "";
    position: absolute;
    width: 12px;
    height: 12px;
    background-color: var(--color-sub);
    left: 0;
    top: calc(0.5em - 1px);
}

/* リスト ol */
.editor-styles-wrapper ol,
.content-post ol {
    padding-left: 0px;
    list-style: none;
    counter-reset: item;
}

.editor-styles-wrapper ol > li,
.content-post ol > li {
    padding-left: 20px;
    position: relative;
}

.editor-styles-wrapper ol > li + li,
.content-post ol > li + li {
    margin-top: 10px;
}

.editor-styles-wrapper ol > li::after,
.content-post ol > li::after {
    counter-increment: item;
    content: counter(item)'.';
    position: absolute;
    left: 0;
    top: 0;
}


.editor-styles-wrapper li ul,
.editor-styles-wrapper li ol,
.content-post li ul,
.content-post li ol{
    margin-top: 10px;
}

/* figure */
.editor-styles-wrapper figure,
.content-post figure{
    margin-bottom: 40px;
}

/*================================   スマホ   ================================*/
@media all and (max-width: 768px) {

    /* 見出し */
    .editor-styles-wrapper h1 {
        margin-bottom: 20px;
    }

    .editor-styles-wrapper h2 {
        margin-bottom: 20px;
    }

    .editor-styles-wrapper h3 {
        margin-bottom: 20px;
    }

    /* 吹き出し */
    .editor-styles-wrapper .is-style-fukidashi {
        margin-bottom: 20px;
    }

    /* 段落 */
    .editor-styles-wrapper p {
        margin-bottom: 20px;
    }
}