@charset "UTF-8";

.container {
    max-width: 1164px;
}

/* SP時のみヘッダー上下余白を調整（py-3 = 16px を上書き） */
@media screen and (max-width: 767px) {
    .header {
        padding-block: 12px;
    }

    .header__logo-img {
        width: 100px;
    }

    .header__nav-link {
        font-size: 12px;
    }
}

.header__logo-img {
    width: 150px;
    height: auto;
    background-color: #e3d9cd;
}

.header__nav {
    --bs-border-color: #e0e0e0;
}

.header__nav-item {
    --bs-border-color: #ccc;
}

.header__nav-link {
    font-size: 17px;
}

.slide-area .carousel {
    touch-action: pan-y;
    user-select: none;
}

.slide-area .carousel-item img {
    pointer-events: none;
}

.banner {
    background-color: #142344;
    padding-block: 56px;
    margin-block-end: 0;
}

.banner__title {
    margin-block-end: 77px;
    font-size: 40px;
}

@media screen and (max-width: 767px) {
    .banner {
        padding-block: 56px;
    }

    .banner__title {
        margin-block-end: 24px;
        font-size: 22px;
    }
}

.footer {
    background-color: #40322f;
    padding-block: 50px 50px;
    margin-block-start: -1px;
}

.footer__title {
    margin-block-end: 53px;
    font-size: 40px;
}

@media screen and (max-width: 767px) {
    .footer {
        padding-block: 48px;
    }

    .footer__title {
        margin-block-end: 16px;
        font-size: 22px;
    }
}

.totop {
    position: fixed;
    inset-block-end: 24px;
    inset-inline-end: 24px;
    z-index: 1030;
    display: block;
    padding: 0;
    background-color: transparent;
    border: none;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease;
    cursor: pointer;
}

.totop.js-show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.totop__icon {
    display: block;
    width: 40px;
    height: auto;
}

@media screen and (max-width: 767px) {
    .totop {
        inset-block-end: 16px;
        inset-inline-end: 16px;
    }

    .totop__icon {
        width: 32px;
    }
}
