@charset "UTF-8";

.page-general__hero {
    position: relative;
    height: 13.8889vw;
    padding-top: 5vw;
    border-bottom: 1px solid #d9d9d9;
}

.page-general__hero .l-inner {
    position: relative;
    height: 100%;
}

.page-general__hero h1 {
    position: absolute;
    margin-top: 0;
    font-size: 3.3vw;
    font-weight: 600;
    line-height: 1;
    left: 1.25vw;
    bottom: 1.9444vw;
    font-family: "Jost";
    letter-spacing: 0.06em;
    color: #4c6bd0;
    text-align: left;
}

.page-general__hero-subtitle {
    font-family: "Jost", "Inter", sans-serif;
    font-size: 1.25vw;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #2273ff;
}

.page-general__hero-media {
    position: absolute;
    right: 3vw;
    bottom: 0;
    width: 28vw;
    max-width: 420px;
}

.page-general__hero-media img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 1.5vw;
}

.page-general .l-contents {
    padding-top: 4vw;
    padding-bottom: 6vw;
}

.page-general__article {
    color: #303030;
}

.page-general__content {
    font-family: "Inter", "Noto Sans JP", sans-serif;
    font-size: 1.1111vw;
    line-height: 1.9;
}

.page-general__content > *:not(:last-child) {
    margin-bottom: 2vw;
}

.page-general__content h2,
.page-general__content h3,
.page-general__content h4,
.page-general__content h5,
.page-general__content h6 {
    color: #303030;
    font-weight: 700;
    line-height: 1.2;
}

.page-general__content h2 {
    font-size: 2.5vw;
}

.page-general__content h3 {
    font-size: 2vw;
}

.page-general__content h4 {
    font-size: 1.6667vw;
}

.page-general__content p {
    margin: 0;
}

.page-general__content ul,
.page-general__content ol {
    margin-left: 1.5em;
    padding-left: 0;
}

.page-general__content blockquote {
    margin: 0;
    padding: 1.6667vw 2.5vw;
    background: #f4f7ff;
    border-left: 4px solid #4c6bd0;
}

.page-general__content figure {
    margin: 0;
}

.page-general__content img {
    width: 100%;
    height: auto;
    border-radius: 0.7vw;
}

.page-general__content .wp-block-image figcaption {
    margin-top: 0.8vw;
    font-size: 0.9722vw;
    color: #6c6c6c;
    text-align: center;
}

.page-general__content .alignwide {
    width: calc(100% + 6vw);
    margin-left: -3vw;
    margin-right: -3vw;
}

.page-general__content .alignfull {
    width: 100vw;
    max-width: none;
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
}

.page-general__content .wp-block-columns {
    gap: 2vw;
}

.page-general__content .wp-block-button__link {
    border-radius: 8vw;
    padding: 1vw 2.8vw;
    font-size: 1vw;
    font-family: "Jost", sans-serif;
    background: #4c6bd0;
    color: #fff;
}

.page-general__pagination {
    margin-top: 3vw;
    font-family: "Inter", sans-serif;
    font-size: 1vw;
    text-align: center;
}

@media screen and (min-width: 1441px) {
    .page-general__hero {
        padding-top: 72px;
        padding-bottom: 60px;
        min-height: 200px;
    }

    .page-general__hero h1 {
        font-size: 50px;
    }

    .page-general__hero-subtitle {
        font-size: 18px;
    }

    .page-general__content {
        font-size: 16px;
    }

    .page-general__content h2 {
        font-size: 36px;
    }

    .page-general__content h3 {
        font-size: 28px;
    }
}

@media screen and (max-width: 768px) {
    .page-general__hero {
        padding-top: 12vw;
        padding-bottom: 12vw;
    }

    .page-general__hero h1 {
        font-size: 7vw;
    }

    .page-general__hero-subtitle {
        font-size: 4vw;
    }

    .page-general__hero-media {
        position: relative;
        width: 100%;
        max-width: none;
        right: auto;
        margin-top: 8vw;
    }

    .page-general__hero-media img {
        border-radius: 4vw;
    }

    .page-general .l-contents {
        padding-top: 12vw;
        padding-bottom: 16vw;
    }

    .page-general__content {
        font-size: 3.7333vw;
    }

    .page-general__content h2 {
        font-size: 7.4667vw;
    }

    .page-general__content h3 {
        font-size: 6.1333vw;
    }

    .page-general__content h4 {
        font-size: 5.3333vw;
    }

    .page-general__content img {
        border-radius: 3vw;
    }

    .page-general__content .alignwide,
    .page-general__content .alignfull {
        width: 100%;
        margin-left: 0;
        margin-right: 0;
    }

    .page-general__content .wp-block-columns {
        flex-wrap: wrap;
    }

    .page-general__content .wp-block-button__link {
        display: inline-flex;
        justify-content: center;
        width: 100%;
        font-size: 4vw;
    }

    .page-general__pagination {
        font-size: 3.4667vw;
    }
}
