@charset "UTF-8";

/*######################################################
カスタムプロパティ
######################################################*/
:root {
    --color-main: #031730;
    --color-main-light: #202E43;
    --color-accent: #EFAF00;
    --color-gray: #f1f2f3;
    --color-gray-light: #fbfdff;
    --color-white: #ffffff;
    --color-black: #040C17;
    --color-body-bg: #ffffff;
    --color-body-text: #040C17;
    --color-border-gray: #cccccc;
}


/*######################################################
ブロックエディタ用
######################################################*/
.editor-styles-wrapper {
    max-width: 760px;
    margin-inline: auto;
}

.editor-styles,
.editor-styles-wrapper {
    * + * {
        margin-top: 1em;
    }

    .wp-block-cover * + * {
        margin-top: 0;
    }

    a {
        margin-top: 0;
    }

    p + p {
        margin-top: 1em;
    }


    h2 {
        display: inline-block;
        font-size: clamp(20px, 1.6vw, 24px);
        font-weight: 500;
        line-height: 1.25;
        position: relative;
        border-left: solid 2px var(--color-main);
        padding-left: 0.75em;

    }


    h3 {
        display: block;
        font-size: clamp(18px, 1.38vw, 20px);
        font-weight: 700;
    }

    h4 {
        display: block;
        font-size: clamp(16px, 1.25vw, 18px);
        font-weight: 700;
    }

    h5 {
        display: block;
        font-size: clamp(16px, 1.25vw, 18px);
        font-weight: 500;
    }

    h6 {
        display: block;
        font-size: clamp(14px, 1.25vw, 16px);
        font-weight: 700;
    }

    p {
        font-size: clamp(14px, 1.25vw, 16px);
        line-height: 2;
    }

    strong {
        font-weight: 700;
    }


    figure.wp-block-image {
        overflow: hidden;
    }

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

    }


    /* ギャラリー */
    .wp-block-gallery {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
    }

    .wp-block-gallery > figure.wp-block-image {
        position: relative;
        width: 100% !important;
    }

    .wp-block-gallery > figure.wp-block-image img {
        aspect-ratio: 1/1;
    }

    @media (max-width: 480px) {
        .wp-block-gallery {
            grid-template-columns: repeat(1, 2fr);
        }
    }


    /* カラム */
    .wp-block-columns {
        gap: 20px;
    }


    /* テーブル */
    figure.wp-block-table table {
        table-layout: unset;
        border-bottom: 1px solid var(--color-border-gray);
    }

    figure.wp-block-table tr th,
    figure.wp-block-table tr td {
        padding: 0.8em 2em;
        border-color: var(--color-border-gray);
        border: none;
        border-bottom: 1px solid var(--color-border-gray);
    }

    figure.wp-block-table tr:first-child th,
    figure.wp-block-table tr:first-child td {
        border-top: 1px solid var(--color-border-gray);
    }

    figure.wp-block-table tr th {
        white-space: nowrap;
    }

    figure.wp-block-table.is-style-regular tr th {
        background-color: #F5F5F5;
    }



    /* リスト */
    ul, ol {
        margin-top: 1em;
    }

    li {
        margin-left: 1em;
    }


    /* テキストリンク */
    a:not(.wp-block-button__link) {
        display: inline-flex;
        align-items: center;
        color: var(--color-body-text);
        text-decoration: none;
        position: relative;
    }

    a:not(.wp-block-button__link)::after {
        content: "";
        position: absolute;
        bottom: 0.2em;
        display: block;
        background-color: var(--color-body-text);
        width: 100%;
        height: 1px;
        z-index: -1;
    }

    a:not(.wp-block-button__link):hover::after {
        opacity: 0.7;
    }

    /* ファイルダウンロードリンク */
    .wp-block-file a.wp-block-file__button {
        background: transparent !important;
        color: transparent !important;
        padding: 0;
    }

    .wp-block-file a.wp-block-file__button::after {
        background: url(../../assets/img/common/icon_download.svg) no-repeat center/contain;
        width: 16px;
        height: 16px;
    }


    /* 詳細ブロック */
    details.wp-block-details {
        border: 1px solid var(--color-body-text);
        padding-inline: clamp(14px, 1.25vw, 16px);

        summary {
            padding-block: clamp(14px, 1.25vw, 16px);
        }
    }

    details.wp-block-details[open] {
        padding-bottom: clamp(14px, 1.25vw, 16px);

        summary {
            padding-bottom: 0;
        }
    }


    /* 引用 */
    .wp-block-quote {
        width: 100%;
        height: auto;
        position: relative;
        border-radius: 10px;
        background-color: #eee;
        padding: clamp(20px, 2.8vw, 40px);
    }


    /* 区切り線 */
    hr.wp-block-separator {
        height: 1px;
        border: 1px solid var(--color-body-text);
        opacity: 1;
    }


    /* ==============================
    ボタン
    ============================== */
    .wp-block-buttons {
        display: flex;
    }

    .wp-block-button__link {
        display: block;
        align-items: center;
        justify-content: center;
        gap: 10px;
        width: fit-content;
        background: #000;
        padding: 5px 15px 5px 20px;
        color: #fff;
        font-size: 18px;
        text-decoration: none;
        border-radius: calc(infinity * 1px);
        letter-spacing: 0.1em;
    }

    .wp-block-button__link::after {
        content: "";
        display: inline-block;
        width: 12px;
        height: 12px;
        margin-left: 0.5em;
        background-image: url("data:image/svg+xml,%3Csvg width='11' height='7' viewBox='0 0 11 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 3.5L0 0L4.2 3.5L0 7L11 3.5Z' fill='%23ffffff'/%3E%3C/svg%3E");
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
    }

}