@charset "utf-8";

/*———————————
下層ページ共通
———————————*/

/* ロゴのみのシンプルヘッダー */
.sec-pageHeader {
    min-height: auto;
    aspect-ratio: auto;
    padding: 28px 20px;
    border-bottom: 1px solid #E2E2E2;
}

.bl-pageHeaderLogo {
    width: 220px;

    a,
    img {
        display: block;
    }

    @media (max-width:768px) {
        width: 180px;
    }
}

/* パンくず */
.bl-breadcrumb {
    width: 100%;
    max-width: 840px;
    margin-inline: auto;
    padding: 24px 20px 0;

    ol {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        padding-left: 0;
        font-size: 1.4rem;
    }

    li:not(:last-child)::after {
        content: ">";
        margin-left: 8px;
        color: var(--cl-glay);
    }

    a {
        color: var(--cl-main);
        text-decoration: underline;
        text-underline-offset: 3px;
    }
}

/* 下層ページ導入 */
.sec-pageHero {
    padding: 64px 20px 80px;
    text-align: center;
    background-color: var(--cl-base);

    >.el-ttl {
        max-width: 800px;
        margin-inline: auto;
    }

    .st-lead {
        max-width: 760px;
        margin-inline: auto;
        color: var(--cl-brown);
        font-size: 1.7rem;
        line-height: 2;

        @media (max-width:768px) {
            font-size: 1.5rem;
            line-height: 1.9;
            text-align: left;
        }
    }

    .st-current {
        margin-top: 12px;
        color: var(--cl-brown);
        font-size: 1.4rem;
    }
}

/* 対象者別ナビ */
.bl-audienceNav {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    width: 100%;
    max-width: 620px;
    margin: 32px auto 0;

    a {
        min-height: 64px;
        display: grid;
        place-content: center;
        padding: 10px 28px 10px 16px;
        position: relative;
        border: 2px solid var(--cl-main);
        border-radius: var(--kadomaru);
        background-color: #fff;
        color: var(--cl-main);
        font-size: 1.7rem;
        font-weight: 500;
        line-height: 1.4;
        transition: 0.2s;

        &::after {
            content: "";
            width: 9px;
            height: 9px;
            position: absolute;
            right: 16px;
            top: 50%;
            border-top: 2px solid currentColor;
            border-right: 2px solid currentColor;
            transform: translateY(-50%) rotate(45deg);
        }

        &:hover {
            background-color: var(--cl-main);
            color: #fff;
            text-decoration: none;
        }

        &[aria-current="page"] {
            background-color: var(--cl-main);
            color: #fff;
        }

        @media (max-width:768px) {
            min-height: 58px;
            padding-inline: 10px 24px;
            font-size: 1.4rem;

            &::after {
                right: 10px;
            }
        }
    }
}

/* 最大幅800pxの標準セクション */
.sec-pageSection {
    padding: 70px 20px 100px;
}

.sec-pageSection_inner {
    width: 100%;
    max-width: 800px;
    margin-inline: auto;
}

/* 電話・フォームの2ボタン */
.bl-contactActions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    width: 100%;

    .el-btn {
        width: 100%;
        max-width: none;
        min-height: 64px;
        display: flex;
        gap: 10px;
        align-items: center;
        justify-content: center;
        margin: 0;
        padding-inline: 38px;
        color: #fff;
        font-size: 1.7rem;
        font-weight: 700;

        img {
            width: auto;
            max-width: 28px;
            max-height: 24px;
            object-fit: contain;
        }

        &.st-green {
            background-color: var(--cl-main);
        }

        &.st-orange {
            background-color: var(--cl-orange);
        }
    }

    @media (max-width:768px) {
        grid-template-columns: 1fr;

        .el-btn {
            min-height: 52px;
            font-size: 1.5rem;
        }
    }
}

.bl-contactNotes {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-top: 14px;

    p {
        color: var(--cl-brown);
        font-size: 1.4rem;
        line-height: 1.7;
        text-align: center;
    }

    @media (max-width:768px) {
        grid-template-columns: 1fr;
        gap: 8px;
    }
}

/* 下層ページ共通フッターのホーム導線 */
.sec-footer {
    padding: 28px 20px 24px;
}

.bl-footerLogo {
    width: min(260px, 76vw);
    margin: 0 auto 18px;

    a,
    img {
        width: 100%;
        display: block;
    }

    img {
        height: auto;
    }
}

.un-spOnly {
    display: none;
}

@media (max-width:768px) {
    .bl-breadcrumb {
        padding-top: 20px;

        ol {
            font-size: 1.2rem;
        }
    }

    .sec-pageHero {
        padding-top: 50px;
    }

    .un-spOnly {
        display: block;
    }

    .un-pcOnly {
        display: none;
    }

    .sec-footer {
        padding-bottom: calc(95px + env(safe-area-inset-bottom));
    }
}

@media (max-width:420px) {
    .bl-audienceNav {
        grid-template-columns: 1fr;
    }
}
