/* ATOCON responsive follow-up — loaded after style.css. */

.atocon-mv__copy .atocon-mv__eyebrow {
    margin: 0 0 3rem;
}

.atocon-mv__copy h1 {
    margin-left: 1.3rem;
}

.atocon-mv__copy > p:last-child {
    margin: 2rem 0;
    line-height: 2.2;
    text-align: left;
}

.atocon-page--compe-list {
    padding-top: 4rem;
}

.atocon-site-footer__nav,
.atocon-site-footer__main > .atocon-site-footer__nav {
    width: 100%;
    text-align: center;
}

.atocon-nav--footer,
.atocon-site-footer__nav .menu,
.atocon-site-footer__sub {
    justify-content: center;
}

.atocon-site-footer .atocon-nav.atocon-nav--footer a {
    font-size: 1.3rem;
}

body.page-id-280 .atocon-page__content h2,
body.page-id-3 .atocon-page__content h2,
body.page-id-318 .atocon-page__content h2 {
    font-size: 2rem;
}

@media (max-width: 767px) {
    .home .atocon-mv,
    .front-page .atocon-mv {
        position: relative;
        height: auto;
        min-height: 0;
        overflow: visible;
        background: #ffffff;
    }

    .home .atocon-mv__sky,
    .front-page .atocon-mv__sky {
        height: min(844 / 767 * 100vw, 844px);
        min-height: 43rem;
        overflow: hidden;
        background: linear-gradient(#5bc1e2 0%, #b7e3f0 61%, #2098c4 61%, #24a2cb 100%);
    }

    .atocon-mv::after {
        top: calc(max(43rem, min(844 / 767 * 100vw, 844px)) - min(470 / 767 * 100vw, 470px));
        bottom: auto;
    }

    .atocon-mv__copy {
        display: none;
        position: relative;
        right: auto;
        bottom: auto;
        left: auto;
        z-index: 20;
        width: 100%;
        padding: 3.2rem 2.4rem 3.6rem;
        background: #ffffff;
    }

    .atocon-mv__copy .atocon-mv__eyebrow {
        margin: 0 0 1rem;
        font-size: 1.4rem;
    }

    .atocon-mv__copy h1 {
        margin: 0 0 0 0.8rem;
        font-size: clamp(2rem, 6vw, 2.6rem);
        line-height: 1.35;
    }

    .atocon-mv__copy > p:last-child {
        margin: 1.2rem 0 0;
        font-size: 1.4rem;
        line-height: 1.7;
    }

    .atocon-mv__copy p span,
    .atocon-mv__copy h1 span {
        box-shadow: 0.35em 0 0 var(--atocon-color-accent, #f15a24), -0.35em 0 0 var(--atocon-color-accent, #f15a24);
    }

    .atocon-site-footer__main {
        align-items: center;
        text-align: center;
    }

    .atocon-site-footer__nav,
    .atocon-site-footer__main > .atocon-site-footer__nav {
        text-align: center;
    }

    .atocon-nav--footer,
    .atocon-site-footer__nav .menu,
    .atocon-site-footer__sub {
        justify-content: center;
    }

    .atocon-nav--footer,
    .atocon-site-footer__nav .menu {
        display: flex;
        flex-wrap: wrap;
        gap: 1.2rem 2rem;
    }

    .atocon-front-compe-list .atocon-compe-card,
    .atocon-page--compe-list .atocon-compe-card {
        border-radius: 1.4rem;
    }

    .atocon-front-compe-list .atocon-compe-card__link,
    .atocon-compe-results .atocon-compe-card__link {
        grid-template-columns: clamp(9rem, 34vw, 13rem) minmax(0, 1fr);
        min-height: 13rem;
    }

    .atocon-front-compe-list .atocon-compe-card__thumb,
    .atocon-compe-results .atocon-compe-card__thumb,
    .atocon-compe-single-page__aside .atocon-compe-card__thumb {
        width: 100%;
        min-width: 0;
        height: 100%;
        min-height: 13rem;
        aspect-ratio: auto;
    }

    .atocon-front-compe-list .atocon-compe-card__body,
    .atocon-compe-results .atocon-compe-card__body {
        padding: 1.4rem;
    }

    .atocon-compe-single-page__aside {
        width: calc(100% - 4rem);
        margin-right: auto;
        margin-left: auto;
    }

    .atocon-compe-single-page__aside .atocon-compe-list {
        margin-right: 0;
        margin-left: 0;
    }

    .atocon-compe-single-page__aside .atocon-compe-card__placeholder {
        min-height: 13rem;
    }

    .atocon-page--compe-list {
        padding-top: 2rem;
    }
}

@media (min-width: 768px) and (max-width: 900px) {
    .home .atocon-mv,
    .front-page .atocon-mv,
    .home .atocon-mv__sky,
    .front-page .atocon-mv__sky {
        height: min(1080 / 1920 * 100vw, 1080px);
        min-height: 0;
    }

    .home .atocon-mv,
    .front-page .atocon-mv {
        overflow: hidden;
    }

    .atocon-mv::after {
        top: auto;
        bottom: 0;
    }

    .atocon-mv__copy {
        position: absolute;
        right: auto;
        bottom: 3rem;
        left: 4rem;
        width: min(58rem, calc(100% - 8rem));
        padding: 0;
        background: transparent;
    }

    .atocon-mv__copy .atocon-mv__eyebrow {
        margin-bottom: 1.4rem;
        font-size: 1.4rem;
    }

    .atocon-mv__copy h1 {
        margin-left: 0.8rem;
        font-size: clamp(2.4rem, 4.4vw, 3.2rem);
    }

    .atocon-mv__copy > p:last-child {
        margin: 1.4rem 0 0;
        max-width: 52rem;
        font-size: 1.4rem;
        line-height: 1.8;
    }

    .atocon-front-compe-list,
    .atocon-compe-results .atocon-compe-list,
    .atocon-compe-single-page__aside .atocon-compe-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 2.4rem 2rem;
    }

    .atocon-front-inner {
        width: calc(100% - 4.8rem);
        margin-right: auto;
        margin-left: auto;
    }

    .atocon-compe-list-layout {
        display: block;
        width: min(100% - 4.8rem, 85.2rem);
        padding: 0 0 6rem;
    }

    .atocon-compe-filter-toggle {
        display: inline-flex;
    }

    .atocon-compe-filter {
        display: none;
        margin-bottom: 2.4rem;
    }

    .atocon-compe-filter.is-open {
        display: block;
    }

    .atocon-compe-single-page,
    .atocon-knowhow-single__layout {
        width: min(100% - 4.8rem, 85.2rem);
    }

    .atocon-site-footer__main {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
}
