@charset "UTF-8";
/* ---------------------------------------------
*   Custom Properties
--------------------------------------------- */
:root {
    font-family: var(--font);
    --font:
      system-ui, -apple-system, "Segoe UI", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro",
      "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    --font-size: 16px;
    --line-height: 1.5;
    --standard-width: 1200px;
    /* 最大幅 */
    --standard-padding: 0 20px;
    /* パディング */
    --color-text: #333;
    /* 本文テキスト色 */
    --color-text-inverse: #fff;
    /* 反転テキスト色 */
    --color-main: #35a9ee;
    /* メイン */
    --color-orange: #ffa21f;
    /* オレンジ色 */
    --color-orange1: #ff9811;
    --color-orange2: #fffcf6;
    --color-green: #2bbc98;
    /* グリーン */
    --color-gray: #888;
    /* サブテキスト色 */
    --color-background: #fff;
    /* 背景色 */
    --color-base: #f6faff;
    /* セクション背景 */
    --color-link: #2862df;
    /* リンク・ホバー前 */
    --color-link-hover: #2862df;
    /* リンク・ホバー後 */
    --color-border: #cfcfcf;
    /* ボーダー色 */
    --color-error: #e53e3e;
    /* エラーカラー */
    --fixed-header-height: 82px;
    --transition: 0.3s ease-in-out;
    --border-radius: 8px;
}

/* ---------------------------------------------
*   Universal selector
--------------------------------------------- */
*,
*::before,
*::after {
    box-sizing: border-box;
}

.prose h1 {
    font-size: 33px;
    font-weight: 700;
    line-height: 1.6;
}
.prose h2 {
    font-size: 27px;
    font-weight: 700;
    margin: 40px 0 25px;
    line-height: 1.4;
    padding: 13px 40px 11px;
    background: var(--color-main);
    border-radius: var(--border-radius);
    color: var(--color-text-inverse);
}
@media (max-width: 991px) {
    .prose h2 {
        margin: 80px -20px 24px;
        padding: 19px 20px;
        font-size: 24px;
        line-height: 1.5;
    }
}
.prose h3 {
    font-size: 22px;
    font-weight: 700;
    margin: 30px 40px 25px;
    padding-bottom: 9px;
    line-height: 1.5;
    border-bottom: 3px solid #efeade;
    position: relative;
}
@media (max-width: 991px) {
    .prose h3 {
        font-size: 19px;
        margin: 30px 0 25px;
        padding-bottom: 20px;
    }
}
.prose h3 :after {
    position: absolute;
    content: " ";
    display: block;
    border-bottom: solid 3px var(--color-main);
    bottom: -3px;
    width: 80px;
}
@media (max-width: 991px) {
    .prose h3 :after {
        width: 37px;
    }
}
.prose h4 {
    font-size: 20px;
    font-weight: 700;
    color: #009a74;
    margin: 30px 40px 18px;
    line-height: 1.6;
}
@media (max-width: 991px) {
    .prose h4 {
        font-size: 18px;
        margin: 30px 0 18px;
    }
}
.prose h5 {
    font-size: 20px;
    font-weight: 700;
    padding: 0 40px;
    margin-bottom: 18px;
}
@media (max-width: 991px) {
    .prose h5 {
        font-size: 16px;
        padding: 0;
    }
}
.prose h6 {
    font-size: 19px;
    font-weight: 700;
    padding: 0 40px;
    margin-bottom: 16px;
}
@media (max-width: 991px) {
    .prose h6 {
        font-size: 16px;
        padding: 0;
    }
}
.prose p {
    font-size: 18px;
    padding: 0 40px 20px;
    line-height: 1.7;
    word-break: break-word;
}
@media (max-width: 991px) {
    .prose p {
        padding: 0 0px 20px;
        line-height: 1.8;
    }
}
.prose p:last-child {
    padding-bottom: 0;
}
.prose p a {
    text-decoration: underline;
}
.prose p a:hover {
    opacity: 0.8;
}
.prose strong {
    font-weight: 700;
}
.prose ul {
    font-size: 18px;
    padding-left: 1em;
    list-style-type: disc;
    margin: 0 40px 24px;
    line-height: 1.7;
}
@media (max-width: 991px) {
    .prose ul {
        margin: 0 0px 24px;
    }
}
@media (max-width: 768px) {
    .prose ul {
        line-height: 1.8;
    }
}
.prose ul > li > ul {
    margin: 0 0px 24px 0px;
}
.prose ol {
    font-size: 18px;
    list-style: decimal;
    padding-left: 1em;
    margin: 0 40px 24px;
    line-height: 1.7;
}
@media (max-width: 991px) {
    .prose ol {
        margin: 0 0px 24px;
    }
}
@media (max-width: 768px) {
    .prose ol {
        line-height: 1.8;
    }
}
.prose blockquote {
    background: #fffcf6;
    border-radius: 8px;
    padding: 38px 40px 32px 88px;
    font-size: 18px;
    line-height: 1.7;
    margin: 40px 40px;
    position: relative;
    word-break: break-word;
}
@media (max-width: 991px) {
    .prose blockquote {
        margin: 40px 0px;
    }
}
@media (max-width: 768px) {
    .prose blockquote {
        padding: 32px 40px 32px 32px;
        line-height: 1.8;
    }
}
.prose blockquote:before {
    content: "";
    position: absolute;
    top: 48px;
    left: 32px;
    width: 32px;
    height: 23px;
    background: url(/wp-content/themes/dreambase/assets/images/icon/quote.svg) no-repeat center;
}
@media (max-width: 768px) {
    .prose blockquote:before {
        position: static;
        display: block;
        margin: 0 0 16px;
    }
}
.prose blockquote p {
    padding-bottom: 0;
}
.prose .media-container {
    max-width: 720px;
    margin: 0 auto;
}
@media (max-width: 991px) {
    .prose .media-container {
        max-width: 100%;
    }
}
.prose .media-container img {
    max-width: 100%;
    height: auto;
}
.prose .content-media {
    margin: 32px 40px 16px;
}
@media (max-width: 991px) {
    .prose .content-media {
        margin: 32px 0px 16px;
    }
}
.prose .content-media img {
    border-radius: 8px;
    overflow: hidden;
}

.related-posts {
    display: flex;
    gap: 22px;
    padding: 0;
}
@media (max-width: 768px) {
    .related-posts {
        flex-direction: column;
    }
}
.related-posts article {
    flex: 1;
    max-width: calc((100% - 44px) / 3);
}
@media (max-width: 768px) {
    .related-posts article {
        display: flex;
        gap: 14px;
        max-width: 100%;
    }
}
.related-posts article img {
    height: 120px;
}
@media (max-width: 768px) {
    .related-posts article img {
        width: 122px;
        height: 69px;
        -o-object-fit: cover;
           object-fit: cover;
    }
}
.related-posts article h3 {
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 24px;
    margin: 0;
}
@media (max-width: 768px) {
    .related-posts article h3 {
        font-weight: 400;
        line-height: 20px;
    }
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/*wrapper 全体に掛かるスタイル */
.home {
    padding: var(--fixed-header-height) 0 0;
}

.main {
    padding-top: var(--fixed-header-height);
}
@media (max-width: 991px) {
    .main {
        padding-top: calc(var(--fixed-header-height) - 27px);
    }
}
.main a {
    color: var(--color-text);
}

.not-found {
    max-width: var(--standard-width);
    box-sizing: content-box;
    margin: var(--fixed-header-height) auto 80px;
    padding: 0 20px;
}
.not-found h1 {
    padding: 0 0 40px;
    line-height: 1.5;
    font-weight: 700;
    font-size: 40px;
}
@media (max-width: 768px) {
    .not-found h1 {
        font-size: 24px;
    }
}
.not-found h2 {
    font-size: 1.5em;
    font-weight: 700;
    margin: 0 0 16px;
}
@media (max-width: 768px) {
    .not-found h2 {
        font-size: 1.25rem;
    }
}
.not-found p {
    margin-bottom: 2em;
}
.not-found a:hover {
    text-decoration: underline;
    color: var(--color-link-hover);
    transition: 0.2s;
}

.f-marker-p {
    background-image: linear-gradient(transparent 80%, #ffc7f6 0);
}

.f-marker-w {
    background-image: linear-gradient(transparent 80%, #abeffe 0);
}

.f-marker-g {
    background-image: linear-gradient(transparent 80%, #afffb1 0);
}

.f-marker-y {
    background-image: linear-gradient(transparent 80%, #f8eba9 0);
}

.pagination {
    text-align: center;
    margin: 0 auto 160px;
}
@media (max-width: 768px) {
    .pagination {
        margin-bottom: 56px;
    }
}
.pagination ul {
    display: flex;
    justify-content: center;
    gap: 16px;
    align-items: center;
    flex-wrap: wrap;
}
@media (max-width: 768px) {
    .pagination ul {
        gap: 12px;
    }
}
.pagination ul li button {
    background: none;
    border-radius: 4px;
    border: 1px solid #c1c1c1;
    color: var(--color-text);
    font-size: 14px;
    font-weight: bold;
    padding: 8px 10px;
    width: 48px;
    height: 48px;
}
.pagination ul li button:hover {
    color: var(--color-text-inverse);
    background: var(--color-link);
    cursor: pointer;
    border-color: var(--color-link);
}
@media (max-width: 768px) {
    .pagination ul li button {
        width: 40px;
        height: 40px;
    }
}
.pagination ul li button[aria-current=page] {
    color: var(--color-text-inverse);
    background: var(--color-link);
    cursor: pointer;
    border-color: var(--color-link);
}
.pagination :global(.pagination-icon) {
    border: none;
}

.wp-block-table table {
    margin: 40px 40px;
    max-width: 720px;
    width: 100%;
}
@media (max-width: 991px) {
    .wp-block-table table {
        max-width: 100%;
        margin: 40px 0;
    }
}
.wp-block-table td,
.wp-block-table th {
    border: 1px solid #ccc !important;
    padding: 8px !important;
    font-size: 16px !important;
    line-height: 1.7;
    word-break: break-word;
}
.wp-block-table td p,
.wp-block-table th p {
    padding: 0;
}
.wp-block-table th {
    font-size: 20px !important;
    background-color: #A1A3A6;
    color: var(--color-text-inverse);
    font-weight: 700;
}