/* sidebarがあるlayout */
.content-area {
    display: flex;
    flex-direction: column;
    gap: var(--space--6);
}
.sidebar {
    background: repeating-linear-gradient(
        135deg,
        #eee,
        #eee 3px,
        #fff 3px,
        #fff 6px
    );
    padding: 1em;
}

/* 大きい画面sizeでのlayout */
@media (min-width: 768px) {
    .content-area {
        flex-direction: row;
    }
    .main-area {
        flex: 1;
    }
    .sidebar {
        width: 300px;
    }
}

/* card共通 */
.card {
    border-radius: var(--radius--md);
    box-shadow: var(--shadow--lg);
    overflow: hidden;
}
.card__content {
    padding: var(--space--6);
}
.card__content > h3 {
    font-size: var(--font-size--md);
}
.card__content > p {
    font-size: var(--font-size--sm);
    margin-top: var(--space--2);
}
.card__image {
    aspect-ratio: 16 / 9;
    align-self: stretch;
}
.card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* mediaqueryでlayoutを切り替えるcard */
.card--mediaquery {
    display: flex;
    flex-direction: column;
}

/* 大きい画面size */
@media (min-width: 768px) {
    .card--mediaquery {
        flex-direction: row;
    }
    .card--mediaquery .card__image {
        flex-basis: 40%;
    }
    .card--mediaquery .card__content {
        flex-basis: 60%;
        align-self: center;
    }
}

/* Flexbox layout 自動切り替え */
.switch-columns {
    --side-width: 240px;
    --main-width: 50%;
    display: flex;
    flex-wrap: wrap;
}
/* 固定幅で表示するside要素 */
.switch-columns__side {
    flex-basis: var(--side-width);
    flex-grow: 1;
}
/*  もう片方のmain area */
.switch-columns__main {
    flex-basis: min(100%, var(--main-width));
    flex-grow: 999999;
}

/* card style */
.card.switch-columns {
    --side-width: 40%;
    --main-width: 20em;
}
