.md-typeset .grid.cards {
    margin-top: 1rem;
}

.md-typeset img {
    /*  border-radius: 12px; */
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.12);
}

/* ページ中央の大きな矢印 */
.down-arrow {
    text-align: center;
    font-size: 4rem;
    line-height: 1;
    color: var(--md-primary-fg-color);
    margin: 0;
}

.down-arrow * {
    margin: 0;
}

/* CTAボタンを中央に配置 */
.button-cta {
    margin-top: 1rem;
    text-align: center;
}

/* 非表示 */
.hide {
    display: none;
}

/* info か tip の中の表はボーダーと見出し行を非表示にする */
details.info table:not([class]),
details.info table:not([class]) th,
details.info table:not([class]) td,
div.tip table:not([class]),
div.tip table:not([class]) th,
div.tip table:not([class]) td {
    border: none;
}

details.info table:not([class]) tr td:first-child,
div.tip table:not([class]) tr td:first-child {
    font-weight: 600;
}

details.info table:not([class]) thead,
div.tip table:not([class]) thead {
    display: none;
}

/* カスタムアドモニションタイプの例 */
.md-typeset .admonition.custom {
    border-color: brown;
}

.md-typeset .admonition.custom .admonition-title {
    background-color: brown;
    color: white;
}

.md-typeset .admonition.custom .admonition-title::before {
    /* アイコンをSVGで指定できる */
    mask-image: none;
    /* PNGをフルカラーで使う場合はbackground-imageに指定する */
    background-image: url("/assets/doits-favicon.png");
    background-size: contain;
    background-repeat: no-repeat;
}

/* スマホ ～ iPad Mini */
@media screen and (max-width: 768px) {
    /* ヒーローセクション */
    .hero-image {
        display: none;
    }

    .hero-mobile {
        display: block;
    }
}

/* iPad Air ～ PC */
@media screen and (min-width: 769px) {
    /* ページ中央の大きな矢印 */
    .down-arrow {
        height: 0;
    }

    /* ヒーローセクション */
    .md-typeset h1 {
        font-size: 2.2rem;
    }

    .hero-mobile {
        display: none;
    }

    .md-main__inner:has(.hero-image) {
        margin-top: 0;
    }

    .md-content__inner:has(.hero-image) {
        padding-top: 0;
    }

    .md-content__inner:has(.hero-image)::before {
        height: 0;
        margin: 0 auto;
        padding-top: 0; 
        padding-bottom: 0;
    }

    .hero-image {
        width: 100vw;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        margin-bottom: 2rem;
        position: relative;
    }

    .hero-image img {
        width: 100%;
        height: auto;
        display: block;
        border-radius: 0;
        filter: brightness(0.6);
    }

    .md-typeset:has(.hero-image) h1 {
        color: white;
        font-weight: 500;
    }

    .hero-text {
        position: absolute;
        bottom: 10%;
        left: 5%;
    }

    .hero-text h1 {
        margin: 0;
        text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.9);
    }

    .hero-text a {
        margin: 1rem 1rem 0.5rem;
    }
}
